aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-01-03 10:48:07 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-01-03 10:48:07 +0000
commit32d918fa8139c6946fad2319d078714cb919debd (patch)
tree5d5b77d9e7eb4baf85ababfb7702996476c7c6e8
parent84dd9230249d6e6a7966918055644de7eb9aedf3 (diff)
downloadqmmp-32d918fa8139c6946fad2319d078714cb919debd.tar.gz
qmmp-32d918fa8139c6946fad2319d078714cb919debd.tar.bz2
qmmp-32d918fa8139c6946fad2319d078714cb919debd.zip
fixed metadata regression
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1475 90c681e8-e032-0410-971d-27865f9a5e38
-rw-r--r--src/qmmp/metadatamanager.cpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/qmmp/metadatamanager.cpp b/src/qmmp/metadatamanager.cpp
index a4c1fa8e4..c1189736f 100644
--- a/src/qmmp/metadatamanager.cpp
+++ b/src/qmmp/metadatamanager.cpp
@@ -62,8 +62,26 @@ QList <FileInfo *> MetaDataManager::createPlayList(const QString &fileName, bool
return efact->createPlayList(fileName, useMetaData);
return list;
}
- else if(protocols().contains(fileName.section("://",0,0)))
- list << new FileInfo(fileName);
+ else
+ {
+ QString scheme = fileName.section("://",0,0);
+ QStringList p;
+ foreach(InputSourceFactory *f, *m_inputSourceFactories)
+ {
+ p << f->properties().protocols.split(" ", QString::SkipEmptyParts);
+ }
+ if(p.contains(scheme))
+ {
+ list << new FileInfo(fileName);
+ return list;
+ }
+ foreach(fact, *m_decoderFactories)
+ {
+ p = fact->properties().protocols.split(" ", QString::SkipEmptyParts);
+ if(p.contains(scheme) && Decoder::isEnabled(fact))
+ return fact->createPlayList(fileName, useMetaData);
+ }
+ }
return list;
}