diff options
| -rw-r--r-- | src/qmmp/statehandler.cpp | 6 |
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(); |
