From a243c400ba9f1a0740914beca67de7e8dec358c5 Mon Sep 17 00:00:00 2001 From: "craig.p.drummond" Date: Fri, 11 Oct 2013 19:10:02 +0000 Subject: [PATCH] Accept more 'audio' types BUG: 315 --- online/rssparser.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/online/rssparser.cpp b/online/rssparser.cpp index 5406e71c9..76cce4519 100644 --- a/online/rssparser.cpp +++ b/online/rssparser.cpp @@ -24,6 +24,7 @@ #include "rssparser.h" #include #include +#include static const char * constITunesNameSpace = "http://www.itunes.com/dtds/podcast-1.0.dtd"; static const char * constMediaNameSpace = "http://search.yahoo.com/mrss/"; @@ -106,7 +107,14 @@ static Episode parseEpisode(QXmlStreamReader &reader) } else if (0==ep.duration && QLatin1String("content")==name && constMediaNameSpace==reader.namespaceUri()) { ep.duration=reader.attributes().value(QLatin1String("duration")).toString().toUInt(); } else if (QLatin1String("enclosure")==name) { - if (reader.attributes().value(QLatin1String("type")).toString().startsWith(QLatin1String("audio/"))) { + static QSet audioFormats; + if (audioFormats.isEmpty()) { + audioFormats.insert(QLatin1String("mp3")); audioFormats.insert(QLatin1String("MP3")); + audioFormats.insert(QLatin1String("ogg")); audioFormats.insert(QLatin1String("OGG")); + audioFormats.insert(QLatin1String("wma")); audioFormats.insert(QLatin1String("WMA")); + } + QString type=reader.attributes().value(QLatin1String("type")).toString(); + if (type.startsWith(QLatin1String("audio/")) || audioFormats.contains(type)) { ep.url=QUrl::fromEncoded(reader.attributes().value(QLatin1String("url")).toString().toLatin1()); } consumeCurrentElement(reader);