aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/aac/decoderaacfactory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Input/aac/decoderaacfactory.cpp')
-rw-r--r--src/plugins/Input/aac/decoderaacfactory.cpp32
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)