summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorphintuka <phintuka>2006-08-16 21:13:04 +0000
committerphintuka <phintuka>2006-08-16 21:13:04 +0000
commit7ba2ea4df741eb7da35bbe28f9a7d4d912dc22ec (patch)
tree67275d00335eeb04ffa2f62f3e9d8b74b1e6b401
parent0478b833801570febb1226a8576b4f732d2cef97 (diff)
downloadxineliboutput-7ba2ea4df741eb7da35bbe28f9a7d4d912dc22ec.tar.gz
xineliboutput-7ba2ea4df741eb7da35bbe28f9a7d4d912dc22ec.tar.bz2
Support .m3u and implicit playlists
-rw-r--r--menu.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/menu.c b/menu.c
index 4dc1d390..4b5c482b 100644
--- a/menu.c
+++ b/menu.c
@@ -4,7 +4,7 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: menu.c,v 1.6 2006-08-16 17:48:07 phintuka Exp $
+ * $Id: menu.c,v 1.7 2006-08-16 21:13:04 phintuka Exp $
*
*/
@@ -16,6 +16,7 @@
#include <vdr/menu.h>
#include <vdr/plugin.h>
+#include "logdefs.h"
#include "config.h"
#include "menu.h"
#include "menuitems.h"
@@ -205,6 +206,14 @@ eOSState cMenuBrowseFiles::Open(bool ForceOpen, bool Parent)
free(f);
return osEnd;
}
+ if(ForceOpen && GetCurrent()->IsDir()) {
+ /* play all files */
+ char *f = NULL;
+ asprintf(&f, "%s/%s/", m_CurrentDir, GetCurrent()->Name());
+ cControl::Launch(new cXinelibPlayerControl(f));
+ free(f);
+ return osEnd;
+ }
const char *d = GetCurrent()->Name();
char *buffer = NULL;
asprintf(&buffer, "%s/%s", m_CurrentDir, d);
@@ -282,6 +291,7 @@ static bool IsVideoFile(const char *fname)
!strcasecmp(pos, ".mp4") ||
!strcasecmp(pos, ".asf") ||
!strcasecmp(pos, ".flac") ||
+ !strcasecmp(pos, ".m3u") ||
!strcasecmp(pos, ".ram"))
return true;
}