From 040a5ddad53ece9803d71972cb33d01a8afb7ad6 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 10 Jan 2014 21:01:45 +0100 Subject: db/upnp/Directory: move "res" tag handler to StartElement() No need to handle this in EndElement() - in StartElement(), we already have all we need. --- src/db/upnp/Directory.cxx | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) (limited to 'src') diff --git a/src/db/upnp/Directory.cxx b/src/db/upnp/Directory.cxx index 1ae72b107..81e01f216 100644 --- a/src/db/upnp/Directory.cxx +++ b/src/db/upnp/Directory.cxx @@ -86,6 +86,7 @@ protected: m_tobj.m_pid = m_path.back().attributes["parentID"]; } break; + case 'i': if (!strcmp(name, "item")) { m_tobj.clear(); @@ -94,7 +95,21 @@ protected: m_tobj.m_pid = m_path.back().attributes["parentID"]; } break; - default: + + case 'r': + if (!strcmp(name, "res")) { + // + std::string s; + s="protocolInfo";m_tobj.m_props[s] = m_path.back().attributes[s]; + s="size";m_tobj.m_props[s] = m_path.back().attributes[s]; + s="bitrate";m_tobj.m_props[s] = m_path.back().attributes[s]; + s="duration";m_tobj.m_props[s] = m_path.back().attributes[s]; + s="sampleFrequency";m_tobj.m_props[s] = m_path.back().attributes[s]; + s="nrAudioChannels";m_tobj.m_props[s] = m_path.back().attributes[s]; + } + break; } } @@ -135,17 +150,6 @@ protected: if (checkobjok()) { m_dir.m_items.push_back(m_tobj); } - } else if (!strcmp(name, "res")) { - // - std::string s; - s="protocolInfo";m_tobj.m_props[s] = m_path.back().attributes[s]; - s="size";m_tobj.m_props[s] = m_path.back().attributes[s]; - s="bitrate";m_tobj.m_props[s] = m_path.back().attributes[s]; - s="duration";m_tobj.m_props[s] = m_path.back().attributes[s]; - s="sampleFrequency";m_tobj.m_props[s] = m_path.back().attributes[s]; - s="nrAudioChannels";m_tobj.m_props[s] = m_path.back().attributes[s]; } m_path.pop_back(); -- cgit v1.2.3