aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/archive/archivemetadatamodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Input/archive/archivemetadatamodel.cpp')
-rw-r--r--src/plugins/Input/archive/archivemetadatamodel.cpp11
1 files changed, 8 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())
{