diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/plugins/Input/flac/decoderflacfactory.cpp | 2 | ||||
| -rw-r--r-- | src/plugins/Input/mad/decodermadfactory.cpp | 8 | ||||
| -rw-r--r-- | src/plugins/Input/mpc/decodermpcfactory.cpp | 10 | ||||
| -rw-r--r-- | src/plugins/Input/opus/decoderopusfactory.cpp | 8 | ||||
| -rw-r--r-- | src/plugins/Input/vorbis/decodervorbisfactory.cpp | 10 |
5 files changed, 31 insertions, 7 deletions
diff --git a/src/plugins/Input/flac/decoderflacfactory.cpp b/src/plugins/Input/flac/decoderflacfactory.cpp index f8378f588..2047ec9f9 100644 --- a/src/plugins/Input/flac/decoderflacfactory.cpp +++ b/src/plugins/Input/flac/decoderflacfactory.cpp @@ -126,7 +126,7 @@ QList<FileInfo *> DecoderFLACFactory::createPlayList(const QString &fileName, bo #if (TAGLIB_MAJOR_VERSION > 1) || ((TAGLIB_MAJOR_VERSION == 1) && (TAGLIB_MINOR_VERSION >= 8)) oggFlacFile = new TagLib::Ogg::FLAC::File(&stream); #else - oggFlacFile = new TagLib::Ogg::FLAC::File(fileName.toLocal8Bit().constData()); + oggFlacFile = new TagLib::Ogg::FLAC::File(QStringToFileName(fileName)); #endif tag = useMetaData ? oggFlacFile->tag() : 0; ap = oggFlacFile->audioProperties(); diff --git a/src/plugins/Input/mad/decodermadfactory.cpp b/src/plugins/Input/mad/decodermadfactory.cpp index 826576773..3c1e68087 100644 --- a/src/plugins/Input/mad/decodermadfactory.cpp +++ b/src/plugins/Input/mad/decodermadfactory.cpp @@ -39,6 +39,12 @@ #include "decoder_mad.h" #include "decodermadfactory.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 + // DecoderMADFactory DecoderMADFactory::DecoderMADFactory() @@ -128,7 +134,7 @@ QList<FileInfo *> DecoderMADFactory::createPlayList(const QString &fileName, boo TagLib::Tag *tag = 0; #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); TagLib::MPEG::File fileRef(&stream, TagLib::ID3v2::FrameFactory::instance()); #else TagLib::MPEG::File fileRef(fileName.toLocal8Bit ().constData()); diff --git a/src/plugins/Input/mpc/decodermpcfactory.cpp b/src/plugins/Input/mpc/decodermpcfactory.cpp index 663daa0b2..49a6725e9 100644 --- a/src/plugins/Input/mpc/decodermpcfactory.cpp +++ b/src/plugins/Input/mpc/decodermpcfactory.cpp @@ -30,6 +30,12 @@ #include "decoder_mpc.h" #include "decodermpcfactory.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 + // DecoderMPCFactory @@ -79,10 +85,10 @@ QList<FileInfo *> DecoderMPCFactory::createPlayList(const QString &fileName, boo FileInfo *info = new FileInfo(fileName); #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); TagLib::MPC::File fileRef(&stream); #else - TagLib::MPC::File fileRef(fileName.toLocal8Bit().constData()); + TagLib::MPC::File fileRef(QStringToFileName(fileName)); #endif TagLib::APE::Tag *tag = useMetaData ? fileRef.APETag() : 0; 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()) diff --git a/src/plugins/Input/vorbis/decodervorbisfactory.cpp b/src/plugins/Input/vorbis/decodervorbisfactory.cpp index 794850c52..b8d19db0b 100644 --- a/src/plugins/Input/vorbis/decodervorbisfactory.cpp +++ b/src/plugins/Input/vorbis/decodervorbisfactory.cpp @@ -29,6 +29,12 @@ #include "vorbismetadatamodel.h" #include "decodervorbisfactory.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 + // DecoderOggFactory @@ -82,10 +88,10 @@ QList<FileInfo *> DecoderVorbisFactory::createPlayList(const QString &fileName, FileInfo *info = new FileInfo(fileName); #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); TagLib::Ogg::Vorbis::File fileRef(&stream); #else - TagLib::Ogg::Vorbis::File fileRef(fileName.toLocal8Bit().constData()); + TagLib::Ogg::Vorbis::File fileRef(QStringToFileName(fileName)); #endif TagLib::Ogg::XiphComment *tag = useMetaData ? fileRef.tag() : 0; |
