diff options
| -rw-r--r-- | lib/service/servicefs.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/service/servicefs.cpp b/lib/service/servicefs.cpp index 22d8cf65..c53e055e 100644 --- a/lib/service/servicefs.cpp +++ b/lib/service/servicefs.cpp @@ -129,13 +129,20 @@ RESULT eServiceFS::getContent(std::list<eServiceReference> &list, bool sorted) list.push_back(service); } else { - std::string extension = filename.substr(filename.rfind('.')); + size_t e = filename.rfind('.'); + std::string extension = (e != std::string::npos) ? filename.substr(e) : ""; int type = -1; if (extension == ".ts") type = eServiceFactoryDVB::id; else if (extension == ".mp3" || extension == ".ogg" || extension == ".avi") type = 4097; + else if (extension == ".ogg") + type = 4097; + else if (extension == ".mpg") + type = 4097; + else if (extension == ".vob") + type = 4097; if (type != -1) { |
