aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/mpeg/decodermpegfactory.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2018-06-09 21:00:38 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2018-06-09 21:00:38 +0000
commite9de5431a1a5e9d7808cae45c234bb5cb9fd473a (patch)
tree29809d99a1732a537c203b205b69b30b4d65dd2f /src/plugins/Input/mpeg/decodermpegfactory.cpp
parentce79cbc21b6559f54d11da95fef7364616c3d872 (diff)
downloadqmmp-e9de5431a1a5e9d7808cae45c234bb5cb9fd473a.tar.gz
qmmp-e9de5431a1a5e9d7808cae45c234bb5cb9fd473a.tar.bz2
qmmp-e9de5431a1a5e9d7808cae45c234bb5cb9fd473a.zip
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
Diffstat (limited to 'src/plugins/Input/mpeg/decodermpegfactory.cpp')
-rw-r--r--src/plugins/Input/mpeg/decodermpegfactory.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/plugins/Input/mpeg/decodermpegfactory.cpp b/src/plugins/Input/mpeg/decodermpegfactory.cpp
index 6c841e7f1..4c6fef295 100644
--- a/src/plugins/Input/mpeg/decodermpegfactory.cpp
+++ b/src/plugins/Input/mpeg/decodermpegfactory.cpp
@@ -197,16 +197,16 @@ Decoder *DecoderMPEGFactory::create(const QString &, QIODevice *input)
return d;
}
-QList<TrackInfo *> DecoderMPEGFactory::createPlayList(const QString &fileName, TrackInfo::Parts parts, QStringList *)
+QList<TrackInfo *> DecoderMPEGFactory::createPlayList(const QString &path, TrackInfo::Parts parts, QStringList *)
{
- TrackInfo *info = new TrackInfo(fileName);
- TagLib::Tag *tag = 0;
+ TrackInfo *info = new TrackInfo(path);
- TagLib::FileStream stream(QStringToFileName(fileName), true);
- TagLib::MPEG::File fileRef(&stream, TagLib::ID3v2::FrameFactory::instance());
+ if(parts == TrackInfo::NoParts)
+ return QList<TrackInfo*>() << info;
- if(fileRef.audioProperties())
- info->setDuration(fileRef.audioProperties()->lengthInMilliseconds());
+ TagLib::Tag *tag = 0;
+ TagLib::FileStream stream(QStringToFileName(path), true);
+ TagLib::MPEG::File fileRef(&stream, TagLib::ID3v2::FrameFactory::instance());
if (parts & TrackInfo::MetaData)
{
@@ -317,6 +317,7 @@ QList<TrackInfo *> DecoderMPEGFactory::createPlayList(const QString &fileName, T
case TagLib::MPEG::Header::Version2_5:
info->setValue(Qmmp::FORMAT_NAME, QString("MPEG-2.5 layer %1").arg(fileRef.audioProperties()->layer()));
}
+ info->setDuration(fileRef.audioProperties()->lengthInMilliseconds());
}
if(parts & TrackInfo::ReplayGainInfo)