From b04fc32cafa3b6879b1eb10c0ca8703ebe57a42e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rafa=C3=ABl=20Carr=C3=A9?= Date: Thu, 27 Mar 2008 21:43:37 +0100 Subject: [PATCH] Fix megavideo lua demuxer 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 | 1 + share/luaplaylist/megavideo.lua | 20 ++++++-------------- 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/share/Makefile.am b/share/Makefile.am index 8307e1d279..bc6038bd23 100644 --- a/share/Makefile.am +++ b/share/Makefile.am @@ -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 \ diff --git a/share/luaplaylist/megavideo.lua b/share/luaplaylist/megavideo.lua index 8c5763c5f4..44a04f26b3 100644 --- a/share/luaplaylist/megavideo.lua +++ b/share/luaplaylist/megavideo.lua @@ -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 -- 2.39.2