]> git.sesse.net Git - vlc/blob - share/lua/sd/freebox.lua
ea0e1796db36d8b51ca665ed12dd963a879de491
[vlc] / share / lua / sd / freebox.lua
1 --SD_Description=Freebox TV
2 --[[
3  $Id$
4
5  Copyright © 2010 VideoLAN and AUTHORS
6  
7  Authors: Fabio Ritrovato <sephiroth87 at videolan dot org>
8
9  This program is free software; you can redistribute it and/or modify
10  it under the terms of the GNU General Public License as published by
11  the Free Software Foundation; either version 2 of the License, or
12  (at your option) any later version.
13
14  This program is distributed in the hope that it will be useful,
15  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  GNU General Public License for more details.
18
19  You should have received a copy of the GNU General Public License
20  along with this program; if not, write to the Free Software
21  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
22 --]]
23
24 function main()
25     local fd = vlc.stream( "http://mafreebox.freebox.fr/freeboxtv/playlist.m3u" )
26     local line=  fd:readline()
27     if line ~= "#EXTM3U" then
28         return nil
29     end
30     line = fd:readline()
31     local duration, artist, name
32     local options={"deinterlace=1"}
33     while line ~= nil do
34         if( string.find( line, "#EXTINF" ) ) then
35             _, _, duration, artist, name = string.find( line, ":(%w+),(%w+)%s*-%s*(.+)" )
36         elseif( string.find( line, "#EXTVLCOPT" ) ) then
37             _, _, option = string.find( line, ":(.+)" )
38             table.insert( options, option )
39         else
40             vlc.sd.add_item( {url=line,duration=duration,artist=artist,title=name,options=options} )
41             duration = nil
42             artist = nil
43             name = nil
44             options={"deinterlace=1"}
45         end
46         line = fd:readline()
47     end
48 end