]> git.sesse.net Git - vlc/blob - share/luaplaylist/googlevideo.lua
57cc281b8ac8faaed7422f5ac3d43357d7752ed2
[vlc] / share / luaplaylist / googlevideo.lua
1 --[[
2  $Id$
3
4  Copyright © 2007 the VideoLAN team
5
6  This program is free software; you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation; either version 2 of the License, or
9  (at your option) any later version.
10
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  GNU General Public License for more details.
15
16  You should have received a copy of the GNU General Public License
17  along with this program; if not, write to the Free Software
18  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
19 --]]
20
21 -- Probe function.
22 function probe()
23     return vlc.access == "http"
24         and string.match( vlc.path, "video.google.com" ) 
25         and string.match( vlc.path, "videoplay" )
26 end
27
28 -- Parse function.
29 function parse()
30     while true
31     do
32         line = vlc.readline()
33         if not line then break end
34         if string.match( line, "^<title>" ) then
35             title = string.gsub( line, "<title>([^<]*).*", "%1" )
36         end
37         if string.match( line, "src=\"/googleplayer.swf" ) then
38             url = string.gsub( line, ".*videoUrl=([^&]*).*" ,"%1" )
39             arturl = string.gsub( line, ".*thumbnailUrl=([^\"]*).*", "%1" )
40             return { { path = vlc.decode_uri(url), title = title, arturl = vlc.decode_uri(arturl) } }
41         end
42     end
43 end