aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-05-31 17:39:25 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-05-31 17:39:25 +0000
commit6c1405014c95ced53cf4256e2f8771844a949b62 (patch)
tree58a725cc62abc8003f451ade5113aa6205272b27
parent22762b866e62c4ee378390a4a091bf7197f636d6 (diff)
downloadqmmp-6c1405014c95ced53cf4256e2f8771844a949b62.tar.gz
qmmp-6c1405014c95ced53cf4256e2f8771844a949b62.tar.bz2
qmmp-6c1405014c95ced53cf4256e2f8771844a949b62.zip
fixed possible problem with metadata updating
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1757 90c681e8-e032-0410-971d-27865f9a5e38
-rw-r--r--src/qmmp/statehandler.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/qmmp/statehandler.cpp b/src/qmmp/statehandler.cpp
index ac9511a14..ef0a9b7fb 100644
--- a/src/qmmp/statehandler.cpp
+++ b/src/qmmp/statehandler.cpp
@@ -107,8 +107,11 @@ void StateHandler::dispatch(const QMap<Qmmp::MetaData, QString> &metaData)
m_mutex.unlock();
return;
}
- if (m_state == Qmmp::Playing && SoundCore::instance()->url() == metaData.value(Qmmp::URL))
+ if (m_state == Qmmp::Playing &&
+ (m_metaData.isEmpty() || m_metaData.value(Qmmp::URL) == metaData.value(Qmmp::URL)))
{
+ qDebug("sending meta data %s", qPrintable(SoundCore::instance()->url()));
+ qDebug("sending meta data 2%s", qPrintable(metaData.value(Qmmp::URL)));
if (m_metaData != tmp)
{
m_metaData = tmp;
@@ -150,6 +153,7 @@ void StateHandler::dispatch(Qmmp::State state)
m_mutex.unlock();
dispatch(m_cachedMetaData);
m_mutex.lock();
+ m_cachedMetaData.clear();
}
}
m_mutex.unlock();