make file extensions case insensitive in mediaplayer and servicefs
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Thu, 22 Jun 2006 17:02:08 +0000 (17:02 +0000)
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Thu, 22 Jun 2006 17:02:08 +0000 (17:02 +0000)
lib/python/Screens/MediaPlayer.py
lib/service/servicefs.cpp

index 835bfd4dad76fd123060aeade298f2cf299da2e2..3e238e0869e7c19564c7a0a44280d340e04bcda3 100644 (file)
@@ -32,7 +32,7 @@ class MediaPlayer(Screen, InfoBarSeek):
                self.addPlaylistParser(PlaylistIOPLS, "pls")
                self.addPlaylistParser(PlaylistIOInternal, "e2pls")
 
                self.addPlaylistParser(PlaylistIOPLS, "pls")
                self.addPlaylistParser(PlaylistIOInternal, "e2pls")
 
-               self.filelist = FileList(resolveFilename(SCOPE_MEDIA), matchingPattern = "^.*\.(mp3|ogg|ts|wav|wave|m3u|pls|e2pls|mpg|vob)", useServiceRef = True)
+               self.filelist = FileList(resolveFilename(SCOPE_MEDIA), matchingPattern = "(?i)^.*\.(mp3|ogg|ts|wav|wave|m3u|pls|e2pls|mpg|vob)", useServiceRef = True)
                self["filelist"] = self.filelist
 
                self.playlist = PlayList()
                self["filelist"] = self.filelist
 
                self.playlist = PlayList()
index 8e5b729bafe2a36eabc8a0c0cc87080d2b2d2cfe..1f65ae1739de0597197133d02047b34fcd10957f 100644 (file)
@@ -96,6 +96,11 @@ eServiceFS::~eServiceFS()
 {
 }
 
 {
 }
 
+int lower(char c)
+{
+       return std::tolower(static_cast<unsigned char>(c));
+}
+
 RESULT eServiceFS::getContent(std::list<eServiceReference> &list, bool sorted)
 {
        DIR *d=opendir(path.c_str());
 RESULT eServiceFS::getContent(std::list<eServiceReference> &list, bool sorted)
 {
        DIR *d=opendir(path.c_str());
@@ -131,6 +136,7 @@ RESULT eServiceFS::getContent(std::list<eServiceReference> &list, bool sorted)
                {
                        size_t e = filename.rfind('.');
                        std::string extension = (e != std::string::npos) ? filename.substr(e) : "";
                {
                        size_t e = filename.rfind('.');
                        std::string extension = (e != std::string::npos) ? filename.substr(e) : "";
+                       std::transform(extension.begin(), extension.end(), extension.begin(), lower);
                        int type = -1;
                        
                        if (extension == ".ts")
                        int type = -1;
                        
                        if (extension == ".ts")