From ce79cbc21b6559f54d11da95fef7364616c3d872 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Fri, 8 Jun 2018 20:59:57 +0000 Subject: optimization git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@8007 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Input/aac/aacfile.cpp | 25 +++++------------- src/plugins/Input/aac/decoderaacfactory.cpp | 40 +++++++++++++++++++---------- 2 files changed, 33 insertions(+), 32 deletions(-) (limited to 'src/plugins/Input/aac') 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 #include -#include #include #include @@ -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 DecoderAACFactory::createPlayList(const QString &path, TrackInfo::Parts parts, QStringList *) { + TrackInfo *info = new TrackInfo(path); + + if(parts == TrackInfo::NoParts) + return QList() << 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() << 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(); + } + + 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() << info; } - return QList(); + + return QList() << info; } MetaDataModel* DecoderAACFactory::createMetaDataModel(const QString &path, QObject *parent) -- cgit v1.2.3-13-gbd6f