diff options
Diffstat (limited to 'src/plugins/Input/mpeg')
| -rw-r--r-- | src/plugins/Input/mpeg/decodermpegfactory.cpp | 15 | ||||
| -rw-r--r-- | src/plugins/Input/mpeg/decodermpegfactory.h | 2 |
2 files changed, 9 insertions, 8 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) diff --git a/src/plugins/Input/mpeg/decodermpegfactory.h b/src/plugins/Input/mpeg/decodermpegfactory.h index 149673daa..029ca26d0 100644 --- a/src/plugins/Input/mpeg/decodermpegfactory.h +++ b/src/plugins/Input/mpeg/decodermpegfactory.h @@ -34,7 +34,7 @@ public: bool canDecode(QIODevice *input) const; const DecoderProperties properties() const; Decoder *create(const QString &, QIODevice *input); - QList<TrackInfo *> createPlayList(const QString &fileName, TrackInfo::Parts parts, QStringList *); + QList<TrackInfo *> createPlayList(const QString &path, TrackInfo::Parts parts, QStringList *); MetaDataModel* createMetaDataModel(const QString &path, QObject *parent = 0); void showSettings(QWidget *parent); void showAbout(QWidget *parent); |
