[vlc-commits] commit: Fix MPORA lua playlist script. (Konstantin Pavlov )

git at videolan.org git at videolan.org
Mon Jul 19 12:17:33 CEST 2010


vlc/vlc-1.1 | branch: master | Konstantin Pavlov <thresh at altlinux.org> | Mon Jul 19 14:01:46 2010 +0400| [305a4c04662e3b7d5aa903c9de0d443ae28c8ff9] | committer: Konstantin Pavlov 

Fix MPORA lua playlist script.
(cherry picked from commit 8970ff6d495ee362098545b8f4a075ebda5d8099)

Signed-off-by: Konstantin Pavlov <thresh at altlinux.org>

> http://git.videolan.org/gitweb.cgi/vlc/vlc-1.1.git/?a=commit;h=305a4c04662e3b7d5aa903c9de0d443ae28c8ff9
---

 share/lua/playlist/mpora.lua |   31 +++++++++++++++++++++++++++----
 1 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/share/lua/playlist/mpora.lua b/share/lua/playlist/mpora.lua
index 1144685..8282f76 100644
--- a/share/lua/playlist/mpora.lua
+++ b/share/lua/playlist/mpora.lua
@@ -42,11 +42,34 @@ function parse()
 
         if string.match( line, "filmID" ) then
             _,_,video = string.find( line, "var filmID = \'(.*)\';")
-            table.insert( p, { path = "http://cdn0.mpora.com/play/video/"..video.."/mp4/"; name = name; arturl = arturl } )
-        end
-        if string.match( line, "definitionLink hd" ) then
-            table.insert( p, { path = "http://cdn0.mpora.com/play/video/"..video.."_hd/mp4/"; name = name.." (HD)", arturl = arturl } )
         end
+
     end
+
+    if not name or not arturl or not video then return nil end
+
+    -- Try and get URL for SD video.
+    sd = vlc.stream("http://api.mpora.com/tv/player/playlist/vid/"..video.."/")
+    if not sd then return nil end
+    page = sd:read( 65653 )
+    sdurl = string.match( page, "url=\"(.*)\" />")
+    page = nil
+
+    table.insert( p, { path = sdurl; name = name; arturl = arturl; } )
+
+    -- Try and check if HD video is available.
+    checkhd = vlc.stream("http://api.mpora.com/tv/player/load/vid/"..video.."/platform/video/domain/video.mpora.com/" )
+    if not checkhd then return nil end
+    page = checkhd:read( 65653 )
+    hashd = tonumber( string.match( page, "<has_hd>(%d)</has_hd>" ) )
+    page = nil
+
+    if hashd then
+        hd = vlc.stream("http://api.mpora.com/tv/player/playlist/vid/"..video.."/hd/true/")
+        page = hd:read( 65653 )
+        hdurl = string.match( page, "url=\"(.*)\" />")
+        table.insert( p, { path = hdurl; name = name.." (HD)"; arturl = arturl } )
+    end
+
     return p
 end



More information about the vlc-commits mailing list