function probe()
return vlc.access == "http"
and string.match( vlc.path, "vimeo.com/%d+$" )
- -- do not match other addresses,
- -- else we'll also try to decode the actual video url
+ -- do not match other addresses,
+ -- else we'll also try to decode the actual video url
end
-- Parse function.
function parse()
if string.match ( vlc.path, "vimeo.com/%d+$" ) then
- vlc.msg.warn("matched "..vlc.path)
_,_,id = string.find( vlc.path, "vimeo.com/([0-9]*)")
prefres = get_prefres()
- ishd = false
- quality = "sd"
- codec = nil
+ ishd = false
+ quality = "sd"
+ codec = nil
while true do
line = vlc.readline()
if not line then break end
end
-- Try to find the available codecs
if string.match( line, "{config:.*,\"files\":{\"vp6\":" ) then
- codec = "vp6"
+ codec = "vp6"
end
if string.match( line, "{config:.*,\"files\":{\"vp8\":" ) then
- codec = "vp8"
+ codec = "vp8"
end
if string.match( line, "{config:.*,\"files\":{\"h264\":" ) then
- codec = "h264"
+ codec = "h264"
end
-- Try to find whether video is HD actually
if string.match( line, "{config:.*,\"hd\":1" ) then
- ishd = true
+ ishd = true
end
if string.match( line, "{config:.*\"height\":" ) then
_,_,height = string.find (line, "\"height\":([0-9]*)," )
end
end
- if not codec then
- vlc.msg.warn("unable to find codec info")
- return nil
- end
+ if not codec then
+ vlc.msg.warn("unable to find codec info")
+ return nil
+ end
if ishd and ( not height or prefres < 0 or prefres >= tonumber(height) ) then
quality = "hd"
end
- path = "http://player.vimeo.com/play_redirect?quality="..quality.."&codecs="..codec.."&clip_id="..id.."&time="..tstamp.."&sig="..rsig.."&type=html5_desktop_local"
+ path = "http://player.vimeo.com/play_redirect?quality="..quality.."&codecs="..codec.."&clip_id="..id.."&time="..tstamp.."&sig="..rsig.."&type=html5_desktop_local"
return { { path = path; name = name; arturl = arturl, duration = duration } }
end
return {}