aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2016-09-17 19:23:29 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2016-09-17 19:23:29 +0000
commit1710dfd2c5e684287bd5274fb32d7fb6ecb5df2c (patch)
tree2faaf0266e0ed6c39339d638055b19a9f317dede /src
parent477788d7dd83ecac5485f3d7c927229a9885ec27 (diff)
downloadqmmp-1710dfd2c5e684287bd5274fb32d7fb6ecb5df2c.tar.gz
qmmp-1710dfd2c5e684287bd5274fb32d7fb6ecb5df2c.tar.bz2
qmmp-1710dfd2c5e684287bd5274fb32d7fb6ecb5df2c.zip
archive plugin: optimization
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@6732 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src')
-rw-r--r--src/plugins/Input/archive/archivemetadatamodel.cpp11
-rw-r--r--src/plugins/Input/archive/archivemetadatamodel.h1
2 files changed, 9 insertions, 3 deletions
diff --git a/src/plugins/Input/archive/archivemetadatamodel.cpp b/src/plugins/Input/archive/archivemetadatamodel.cpp
index 02ee77770..e460ba344 100644
--- a/src/plugins/Input/archive/archivemetadatamodel.cpp
+++ b/src/plugins/Input/archive/archivemetadatamodel.cpp
@@ -27,9 +27,7 @@ ArchiveMetaDataModel::ArchiveMetaDataModel(const QString &url, QObject *parent)
{
m_reader = 0;
m_input = 0;
- m_input = new ArchiveInputDevice(url);
- if(m_input->isOpen())
- m_reader = new ArchiveTagReader(m_input, url);
+ m_url = url;
}
ArchiveMetaDataModel::~ArchiveMetaDataModel()
@@ -42,6 +40,13 @@ ArchiveMetaDataModel::~ArchiveMetaDataModel()
QHash<QString, QString> ArchiveMetaDataModel::audioProperties()
{
+ if(!m_input)
+ {
+ m_input = new ArchiveInputDevice(m_url);
+ if(m_input->isOpen())
+ m_reader = new ArchiveTagReader(m_input, m_url);
+ }
+
QHash <QString, QString> ap;
if(m_reader && m_reader->audioProperties())
{
diff --git a/src/plugins/Input/archive/archivemetadatamodel.h b/src/plugins/Input/archive/archivemetadatamodel.h
index 309c3b671..771106844 100644
--- a/src/plugins/Input/archive/archivemetadatamodel.h
+++ b/src/plugins/Input/archive/archivemetadatamodel.h
@@ -39,6 +39,7 @@ public:
private:
ArchiveInputDevice *m_input;
ArchiveTagReader *m_reader;
+ QString m_url;
};