summaryrefslogtreecommitdiffstats
path: root/playtreeparser.c
diff options
context:
space:
mode:
authorrtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-06-06 19:06:39 +0000
committerrtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-06-06 19:06:39 +0000
commit30ccc5dd1ea350eb1c7f862f49d3d2559a538f0f (patch)
tree3526ac55b26791e58cb9f0691656691edd90b7f2 /playtreeparser.c
parent4fcdde2c8b52c698400a70fd558177743ba200ca (diff)
downloadmpv-30ccc5dd1ea350eb1c7f862f49d3d2559a538f0f.tar.bz2
mpv-30ccc5dd1ea350eb1c7f862f49d3d2559a538f0f.tar.xz
Enhance detection of embedded smil playlist, add embedded ram playlist
support Patch by adland git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12539 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'playtreeparser.c')
-rw-r--r--playtreeparser.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/playtreeparser.c b/playtreeparser.c
index 2785d398e6..6f23be3cb2 100644
--- a/playtreeparser.c
+++ b/playtreeparser.c
@@ -558,13 +558,18 @@ parse_textplain(play_tree_parser_t* p) {
if(line[0] == '\0')
continue;
- //Special check for smil reference in file
+ //Special check for embedded smil or ram reference in file
embedded = 0;
if (strlen(line) > 5)
for(c = line; c[0]; c++ )
- if((c[0] == '.') && (tolower(c[1]) == 's') && (tolower(c[2])== 'm') &&
+ if ( ((c[0] == '.') && //start with . and next have smil with optional ? or &
+ (tolower(c[1]) == 's') && (tolower(c[2])== 'm') &&
(tolower(c[3]) == 'i') && (tolower(c[4]) == 'l') &&
- (!c[5] || c[5] == '?' || c[5] == '&')) {
+ (!c[5] || c[5] == '?' || c[5] == '&')) || // or
+ ((c[0] == '.') && // start with . and next have smi or ram with optional ? or &
+ ( ((tolower(c[1]) == 's') && (tolower(c[2])== 'm') && (tolower(c[3]) == 'i')) ||
+ ((tolower(c[1]) == 'r') && (tolower(c[2])== 'a') && (tolower(c[3]) == 'm')) )
+ && (!c[4] || c[4] == '?' || c[4] == '&')) ){
entry=embedded_playlist_parse(line);
embedded = 1;
break;