aboutsummaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-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;
};