]> git.sesse.net Git - vlc/commitdiff
Fix megavideo lua demuxer
authorRafaël Carré <funman@videolan.org>
Thu, 27 Mar 2008 20:43:37 +0000 (21:43 +0100)
committerRafaël Carré <funman@videolan.org>
Thu, 27 Mar 2008 20:46:07 +0000 (21:46 +0100)
The '\n' was absent from the binary data, and several URLs wouldn't play properly
Simplify the decoding
Remove debug print()
Distribute the file

share/Makefile.am
share/luaplaylist/megavideo.lua

index 8307e1d2796a019db512fd06b33dec6e8df6b12d..bc6038bd23ee4e4601bfadac19954334862542ec 100644 (file)
@@ -259,6 +259,7 @@ DIST_lua= \
        luaplaylist/lelombrik.lua \
        luaplaylist/youtube.lua \
        luaplaylist/youtube_homepage.lua \
+    luaplaylist/megavideo.lua \
        luaplaylist/metacafe.lua \
        luaplaylist/googlevideo.lua \
        luaintf/http.lua \
index 8c5763c5f4876d40c1edc60b824db63a90c22412..44a04f26b39be357f42faee4bd55127ee6aa24cf 100644 (file)
@@ -47,7 +47,7 @@ function parse()
             xml = ""
             while line do
                 -- buffer the full xml
-                xml = xml .. line
+                xml = xml .. line .. '\n'
                 line = vlc.readline()
             end
             -- now gets the encoded url
@@ -56,18 +56,11 @@ function parse()
             i = 1
             while s:byte(i) do
                 c = s:byte(i)
-                if c % 4 < 2 then
-                    if c < 16 and c > 3 then key = 61
-                    elseif c < 96 and c > 67 then key = 189
-                    elseif c < 20 and c > 6 then key = 65
-                    else vlc.msg_err("Oops, please report URL to developers")
-                    end
-                else
-                    if c < 16 and c > 3 then key = 65
-                    elseif c < 96 and c > 67 then key = 193
-                    elseif c < 20 and c > 6 then key = 65
-                    else vlc.msg_err("Oops, please report URL to developers")
-                    end
+                if c % 4 < 2 then mod = 0 else mod = 4 end
+                if c < 16 and c > 3 then key = 61 + mod
+                elseif c < 96 and c > 67 then key = 189 + mod
+                elseif c < 20 and c > 6 then key = 65
+                else vlc.msg_err("Oops, please report URL to developers")
                 end
                 i = i + 1
                 path = path .. string.char(key - c)
@@ -75,7 +68,6 @@ function parse()
         end
         if path then break end
     end
-    print( path )
     if path then
         return { { path = path } }
     else