aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Transports
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-04-22 13:18:09 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-04-22 13:18:09 +0000
commitdabbb8f97cefbdbffa48ffca0017826197fe2ff2 (patch)
tree8ff8a4ad1da5d766dcc1009ec6b5e9c6d970240f /src/plugins/Transports
parent9f3362e5b7b69bb29a56ffc836b7489f0c87f511 (diff)
downloadqmmp-dabbb8f97cefbdbffa48ffca0017826197fe2ff2.tar.gz
qmmp-dabbb8f97cefbdbffa48ffca0017826197fe2ff2.tar.bz2
qmmp-dabbb8f97cefbdbffa48ffca0017826197fe2ff2.zip
fixed icy parsing (Closes issue 166) (Closes issue 245)
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1691 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Transports')
-rw-r--r--src/plugins/Transports/http/downloader.cpp20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/plugins/Transports/http/downloader.cpp b/src/plugins/Transports/http/downloader.cpp
index 7e3fda2b9..dafc9ea26 100644
--- a/src/plugins/Transports/http/downloader.cpp
+++ b/src/plugins/Transports/http/downloader.cpp
@@ -314,11 +314,14 @@ void Downloader::checkBuffer()
{
m_ready = true;
qDebug("Downloader: ready");
- if(!m_meta_sent && stream()->icy_meta_data)
+ if(!m_meta_sent)
{
QMap<Qmmp::MetaData, QString> metaData;
- metaData.insert(Qmmp::TITLE, m_stream.header.value("icy-name"));
- metaData.insert(Qmmp::GENRE, m_stream.header.value("icy-genre"));
+ if(stream()->icy_meta_data)
+ {
+ metaData.insert(Qmmp::TITLE, m_stream.header.value("icy-name"));
+ metaData.insert(Qmmp::GENRE, m_stream.header.value("icy-genre"));
+ }
metaData.insert(Qmmp::URL, m_url);
StateHandler::instance()->dispatch(metaData);
}
@@ -389,7 +392,16 @@ void Downloader::parseICYMetaData(char *data, qint64 size)
m_title = line.remove("'");
QMap<Qmmp::MetaData, QString> metaData;
if (!m_title.isEmpty())
- metaData.insert(Qmmp::TITLE, m_title);
+ {
+ QStringList l = m_title.split(" - ");
+ if(l.count() > 1)
+ {
+ metaData.insert(Qmmp::ARTIST, l.at(0));
+ metaData.insert(Qmmp::TITLE, l.at(1));
+ }
+ else
+ metaData.insert(Qmmp::TITLE, m_title);
+ }
else
metaData.insert(Qmmp::TITLE, m_stream.header.value("icy-name"));
metaData.insert(Qmmp::GENRE, m_stream.header.value("icy-genre"));