diff options
Diffstat (limited to 'src/plugins/Input/aac/decoderaacfactory.cpp')
| -rw-r--r-- | src/plugins/Input/aac/decoderaacfactory.cpp | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/src/plugins/Input/aac/decoderaacfactory.cpp b/src/plugins/Input/aac/decoderaacfactory.cpp index 34afec646..5f53437de 100644 --- a/src/plugins/Input/aac/decoderaacfactory.cpp +++ b/src/plugins/Input/aac/decoderaacfactory.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2015 by Ilya Kotov * + * Copyright (C) 2008-2018 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -53,21 +53,29 @@ Decoder *DecoderAACFactory::create(const QString &, QIODevice *input) return new DecoderAAC(input); } -QList<FileInfo *> DecoderAACFactory::createPlayList(const QString &fileName, bool useMetaData, QStringList *) +QList<TrackInfo *> DecoderAACFactory::createPlayList(const QString &path, TrackInfo::Parts parts, QStringList *) { - FileInfo *info = new FileInfo(fileName); - - QFile file(fileName); + QFile file(path); if (file.open(QIODevice::ReadOnly)) { - AACFile aac_file(&file, useMetaData); - if (useMetaData) - info->setMetaData(aac_file.metaData()); - info->setLength(aac_file.length()); + TrackInfo *info = new TrackInfo(path); + AACFile aac_file(&file, parts); + + if(parts & TrackInfo::MetaData) + info->setValues(aac_file.metaData()); + + if(parts & TrackInfo::Properties) + { + info->setValue(Qmmp::BITRATE, aac_file.bitrate()); + info->setValue(Qmmp::SAMPLERATE, aac_file.samplerate()); + //info->setValue(Qmmp::CHANNELS, aac_file. + info->setValue(Qmmp::FORMAT_NAME, "AAC"); + } + + info->setDuration(aac_file.duration()); + return QList<TrackInfo*>() << info; } - QList <FileInfo*> list; - list << info; - return list; + return QList<TrackInfo *>(); } MetaDataModel* DecoderAACFactory::createMetaDataModel(const QString &path, QObject *parent) |
