aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/opus
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Input/opus')
-rw-r--r--src/plugins/Input/opus/decoderopusfactory.cpp8
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())