aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/service/servicefs.cpp9
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)
{