vlc | branch: master | François Revol <[email protected]> | Wed Sep 12 11:40:00 2012 +0200| [8e60ce57f9be6ccad2248c57f40dc9b364da09e7] | committer: Jean-Baptiste Kempf
lua vimeo playlist: Handle VP6 and VP8 codecs Check which codecs are available instead of asking blindly for h264. Signed-off-by: François Revol <[email protected]> Signed-off-by: Jean-Baptiste Kempf <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=8e60ce57f9be6ccad2248c57f40dc9b364da09e7 --- share/lua/playlist/vimeo.lua | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/share/lua/playlist/vimeo.lua b/share/lua/playlist/vimeo.lua index 367804a..8c98bb6 100644 --- a/share/lua/playlist/vimeo.lua +++ b/share/lua/playlist/vimeo.lua @@ -48,6 +48,7 @@ function parse() prefres = get_prefres() ishd = false quality = "sd" + codec = nil while true do line = vlc.readline() if not line then break end @@ -77,6 +78,16 @@ function parse() if string.match( line, "{config:.*\"timestamp\":" ) then _,_,tstamp = string.find (line, "\"timestamp\":([0-9]*)," ) end + -- Try to find the available codecs + if string.match( line, "{config:.*,\"files\":{\"vp6\":" ) then + codec = "vp6" + end + if string.match( line, "{config:.*,\"files\":{\"vp8\":" ) then + codec = "vp8" + end + if string.match( line, "{config:.*,\"files\":{\"h264\":" ) then + codec = "h264" + end -- Try to find whether video is HD actually if string.match( line, "{config:.*,\"hd\":1" ) then ishd = true @@ -85,11 +96,16 @@ function parse() _,_,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 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=h264&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 {} _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
