[vlc-commits] youtube.lua: update to new website changes

Pierre Ynard git at videolan.org
Fri Aug 5 21:39:59 CEST 2011


vlc | branch: master | Pierre Ynard <linkfanel at yahoo.fr> | Fri Aug  5 21:37:48 2011 +0200| [7158aaea585c198a4e536af1be9f3cbbe2e62f74] | committer: Pierre Ynard

youtube.lua: update to new website changes

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=7158aaea585c198a4e536af1be9f3cbbe2e62f74
---

 share/lua/playlist/youtube.lua |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/share/lua/playlist/youtube.lua b/share/lua/playlist/youtube.lua
index 62d8240..33c4a5c 100644
--- a/share/lua/playlist/youtube.lua
+++ b/share/lua/playlist/youtube.lua
@@ -87,16 +87,15 @@ function parse()
                 _,_,t = string.find( line, "\"t\": \"(.-)\"" )
                 -- vlc.msg.err( t )
                 -- video_id = string.gsub( line, ".*&video_id:'([^']*)'.*", "%1" )
-                fmt_url_map = string.match( line, "\"fmt_url_map\": \"(.-)\"" )
+                fmt_url_map = string.match( line, "\"url_encoded_fmt_stream_map\": \"(.-)\"" )
                 if fmt_url_map then
                     -- FIXME: do this properly
                     fmt_url_map = string.gsub( fmt_url_map, "\\u0026", "&" )
-                    for itag,url in string.gmatch( fmt_url_map, "(%d+)|([^,]+)" ) do
+                    for url,itag in string.gmatch( fmt_url_map, "url=([^&,]+).-&itag=(%d+)" ) do
                         -- Apparently formats are listed in quality order,
                         -- so we can afford to simply take the first one
                         if not fmt or tonumber( itag ) == tonumber( fmt ) then
-                            -- do unescaping of /
-                            url = string.gsub( url, '\\/','/' )
+                            url = vlc.strings.decode_uri( url )
                             path = url
                             break
                         end



More information about the vlc-commits mailing list