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