diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2018-06-08 20:59:57 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2018-06-08 20:59:57 +0000 |
| commit | ce79cbc21b6559f54d11da95fef7364616c3d872 (patch) | |
| tree | fabf04494ba44e2b08a7d74842064727858a4d03 /src/plugins/Input/aac | |
| parent | c8488b0a00f62504667eb9d3a6f4074e1f424980 (diff) | |
| download | qmmp-ce79cbc21b6559f54d11da95fef7364616c3d872.tar.gz qmmp-ce79cbc21b6559f54d11da95fef7364616c3d872.tar.bz2 qmmp-ce79cbc21b6559f54d11da95fef7364616c3d872.zip | |
optimization
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@8007 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Input/aac')
| -rw-r--r-- | src/plugins/Input/aac/aacfile.cpp | 25 | ||||
| -rw-r--r-- | src/plugins/Input/aac/decoderaacfactory.cpp | 40 |
2 files changed, 33 insertions, 32 deletions
diff --git a/src/plugins/Input/aac/aacfile.cpp b/src/plugins/Input/aac/aacfile.cpp index ad0eef4d2..8e138b41c 100644 --- a/src/plugins/Input/aac/aacfile.cpp +++ b/src/plugins/Input/aac/aacfile.cpp @@ -20,7 +20,6 @@ #include <QIODevice> #include <QBuffer> -#include <QTextCodec> #include <taglib/id3v2tag.h> #include <neaacdec.h> @@ -247,23 +246,13 @@ void AACFile::parseID3v2(const QByteArray &data) TagLib::String genre = taglib_tag.genre(); TagLib::String title = taglib_tag.title(); - QTextCodec *codec = QTextCodec::codecForName ("UTF-8"); - bool utf = true; - - m_metaData.insert(Qmmp::ALBUM, - codec->toUnicode(album.toCString(utf)).trimmed()); - m_metaData.insert(Qmmp::ARTIST, - codec->toUnicode(artist.toCString(utf)).trimmed()); - m_metaData.insert(Qmmp::COMMENT, - codec->toUnicode(comment.toCString(utf)).trimmed()); - m_metaData.insert(Qmmp::GENRE, - codec->toUnicode(genre.toCString(utf)).trimmed()); - m_metaData.insert(Qmmp::TITLE, - codec->toUnicode(title.toCString(utf)).trimmed()); - m_metaData.insert(Qmmp::YEAR, - QString::number(taglib_tag.year())); - m_metaData.insert(Qmmp::TRACK, - QString::number(taglib_tag.track())); + m_metaData.insert(Qmmp::ALBUM, TStringToQString(album).trimmed()); + m_metaData.insert(Qmmp::ARTIST, TStringToQString(artist).trimmed()); + m_metaData.insert(Qmmp::COMMENT, TStringToQString(comment).trimmed()); + m_metaData.insert(Qmmp::GENRE, TStringToQString(genre).trimmed()); + m_metaData.insert(Qmmp::TITLE, TStringToQString(title).trimmed()); + m_metaData.insert(Qmmp::YEAR, QString::number(taglib_tag.year())); + m_metaData.insert(Qmmp::TRACK, QString::number(taglib_tag.track())); } ID3v2Tag::ID3v2Tag(const QByteArray &array) : TagLib::ID3v2::Tag() diff --git a/src/plugins/Input/aac/decoderaacfactory.cpp b/src/plugins/Input/aac/decoderaacfactory.cpp index 5f53437de..e641db1c7 100644 --- a/src/plugins/Input/aac/decoderaacfactory.cpp +++ b/src/plugins/Input/aac/decoderaacfactory.cpp @@ -55,27 +55,39 @@ Decoder *DecoderAACFactory::create(const QString &, QIODevice *input) QList<TrackInfo *> DecoderAACFactory::createPlayList(const QString &path, TrackInfo::Parts parts, QStringList *) { + TrackInfo *info = new TrackInfo(path); + + if(parts == TrackInfo::NoParts) + return QList<TrackInfo*>() << info; + QFile file(path); - if (file.open(QIODevice::ReadOnly)) + if(!file.open(QIODevice::ReadOnly)) { - TrackInfo *info = new TrackInfo(path); - AACFile aac_file(&file, parts); + delete info; + return QList<TrackInfo*>() << info; + } - if(parts & TrackInfo::MetaData) - info->setValues(aac_file.metaData()); + AACFile aac_file(&file, parts & TrackInfo::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"); - } + if(!aac_file.isValid()) + { + delete info; + return QList<TrackInfo *>(); + } + + 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; } - return QList<TrackInfo *>(); + + return QList<TrackInfo*>() << info; } MetaDataModel* DecoderAACFactory::createMetaDataModel(const QString &path, QObject *parent) |
