diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2010-01-03 10:48:07 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2010-01-03 10:48:07 +0000 |
| commit | 32d918fa8139c6946fad2319d078714cb919debd (patch) | |
| tree | 5d5b77d9e7eb4baf85ababfb7702996476c7c6e8 | |
| parent | 84dd9230249d6e6a7966918055644de7eb9aedf3 (diff) | |
| download | qmmp-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.cpp | 22 |
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; } |
