From e9de5431a1a5e9d7808cae45c234bb5cb9fd473a Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sat, 9 Jun 2018 21:00:38 +0000 Subject: continue optimization, fixed memory leak git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@8008 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Input/mpc/decodermpcfactory.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/plugins/Input/mpc/decodermpcfactory.cpp') diff --git a/src/plugins/Input/mpc/decodermpcfactory.cpp b/src/plugins/Input/mpc/decodermpcfactory.cpp index bc397779f..27026fb03 100644 --- a/src/plugins/Input/mpc/decodermpcfactory.cpp +++ b/src/plugins/Input/mpc/decodermpcfactory.cpp @@ -68,12 +68,13 @@ Decoder *DecoderMPCFactory::create(const QString &, QIODevice *i) QList DecoderMPCFactory::createPlayList(const QString &path, TrackInfo::Parts parts, QStringList *) { TrackInfo *info = new TrackInfo(path); + + if(parts == TrackInfo::NoParts) + return QList() << info; + TagLib::FileStream stream(QStringToFileName(path), true); TagLib::MPC::File fileRef(&stream); - if (fileRef.audioProperties()) - info->setDuration(fileRef.audioProperties()->lengthInMilliseconds()); - if((parts & TrackInfo::MetaData) && fileRef.APETag() && !fileRef.APETag()->isEmpty()) { TagLib::APE::Tag *tag = fileRef.APETag(); @@ -98,11 +99,10 @@ QList DecoderMPCFactory::createPlayList(const QString &path, TrackI info->setValue(Qmmp::CHANNELS, fileRef.audioProperties()->channels()); info->setValue(Qmmp::BITS_PER_SAMPLE, 16); info->setValue(Qmmp::FORMAT_NAME, QString("Musepack SV%1").arg(fileRef.audioProperties()->mpcVersion())); + info->setDuration(fileRef.audioProperties()->lengthInMilliseconds()); } - QList list; - list << info; - return list; + return QList() << info; } MetaDataModel* DecoderMPCFactory::createMetaDataModel(const QString &path, QObject *parent) -- cgit v1.2.3-13-gbd6f