diff options
Diffstat (limited to 'src/plugins/Input/wavpack/decoderwavpackfactory.cpp')
| -rw-r--r-- | src/plugins/Input/wavpack/decoderwavpackfactory.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/plugins/Input/wavpack/decoderwavpackfactory.cpp b/src/plugins/Input/wavpack/decoderwavpackfactory.cpp index 2eb49a73e..b2349e13e 100644 --- a/src/plugins/Input/wavpack/decoderwavpackfactory.cpp +++ b/src/plugins/Input/wavpack/decoderwavpackfactory.cpp @@ -68,11 +68,9 @@ QList<FileInfo *> DecoderWavPackFactory::createPlayList(const QString &fileName, //extract metadata of one cue track if(fileName.contains("://")) { - QString path = QUrl(fileName).path(); - path.replace(QString(QUrl::toPercentEncoding("#")), "#"); - path.replace(QString(QUrl::toPercentEncoding("?")), "?"); - path.replace(QString(QUrl::toPercentEncoding("%")), "%"); - path.replace(QString(QUrl::toPercentEncoding(":")), ":"); + QString path = fileName; + path.remove("wvpack://"); + path.remove(QRegExp("#\\d+$")); int track = fileName.section("#", -1).toInt(); list = createPlayList(path, true); if (list.isEmpty() || track <= 0 || track > list.count()) @@ -86,7 +84,8 @@ QList<FileInfo *> DecoderWavPackFactory::createPlayList(const QString &fileName, return QList<FileInfo *>() << info; } - WavpackContext *ctx = WavpackOpenFileInput (fileName.toLocal8Bit(), err, OPEN_WVC | OPEN_TAGS, 0); + WavpackContext *ctx = WavpackOpenFileInput (fileName.toLocal8Bit().constData(), + err, OPEN_WVC | OPEN_TAGS, 0); if (!ctx) { qWarning("DecoderWavPackFactory: error: %s", err); |
