From: Pierre Ynard Date: Thu, 28 Jul 2011 15:44:06 +0000 (+0200) Subject: youtube.lua: update to new website changes X-Git-Url: http://git.videolan.org/?p=vlc%2Fvlc-1.1.git;a=commitdiff_plain;h=e81b0c97c3ffe81e24ba998a81cf01ee94894d1e youtube.lua: update to new website changes (cherry picked from commit 5cadaf8779f1db7fa0174e851cd9e2afd68e2153) Signed-off-by: Pierre Ynard --- diff --git a/share/lua/playlist/youtube.lua b/share/lua/playlist/youtube.lua index 85ba428..5d386eb 100644 --- a/share/lua/playlist/youtube.lua +++ b/share/lua/playlist/youtube.lua @@ -80,7 +80,7 @@ function parse() -- OLD 1: var swfArgs = {hl:'en',BASE_YT_URL:'http://youtube.com/',video_id:'XPJ7d8dq0t8',l:'292',t:'OEgsToPDskLFdOYrrlDm3FQPoQBYaCP1',sk:'0gnr-AE6QZJEZmCMd3lq_AC'}; -- OLD 2: var swfArgs = { "BASE_YT_URL": "http://youtube.com", "video_id": "OHVvVmUNBFc", "l": 88, "sk": "WswKuJzDBsdD6oG3IakCXgC", "t": "OEgsToPDskK3zO44y0QN8Fr5ZSAZwCQp", "plid": "AARGnwWMrmGkbpOxAAAA4AT4IAA", "tk": "mEL4E7PqHeaZp5OG19NQThHt9mXJU4PbRTOw6lz9osHi4Hixp7RE1w=="}; -- OLD 3: 'SWF_ARGS': { [a lot of stuff...], "video_id": "OHVvVmUNBFc", "sk": "WswKuJzDBsdD6oG3IakCXgC", "t": "OEgsToPDskK3zO44y0QN8Fr5ZSAZwCQp", "plid": "AARGnwWMrmGkbpOxAAAA4AT4IAA"}; - if ( string.match( line, "swfConfig" ) or string.match( line, "SWF_ARGS" ) or string.match( line, "swfArgs" ) ) and string.match( line, "video_id" ) then + if ( string.match( line, "PLAYER_CONFIG" ) or string.match( line, "swfConfig" ) or string.match( line, "SWF_ARGS" ) or string.match( line, "swfArgs" ) ) and string.match( line, "video_id" ) then if string.match( line, "BASE_YT_URL" ) then _,_,base_yt_url = string.find( line, "\"BASE_YT_URL\": \"(.-)\"" ) end # ========================================================================= From: Pierre Ynard Date: Thu, 4 Aug 2011 18:32:00 +0000 (+0200) Subject: youtube.lua: avoid parsing a nil variable X-Git-Url: http://git.videolan.org/?p=vlc%2Fvlc-1.1.git;a=commitdiff_plain;h=c77c2f1cacdef05c0c87b452da62e9a4748bd843 youtube.lua: avoid parsing a nil variable (cherry picked from commit 90dfae907387cd136de35b1da4feab46d10a1a52) Signed-off-by: Pierre Ynard --- diff --git a/share/lua/playlist/youtube.lua b/share/lua/playlist/youtube.lua index 5d386eb..62d8240 100644 --- a/share/lua/playlist/youtube.lua +++ b/share/lua/playlist/youtube.lua @@ -88,9 +88,9 @@ function parse() -- vlc.msg.err( t ) -- video_id = string.gsub( line, ".*&video_id:'([^']*)'.*", "%1" ) fmt_url_map = string.match( line, "\"fmt_url_map\": \"(.-)\"" ) - -- FIXME: do this properly - fmt_url_map = string.gsub( fmt_url_map, "\\u0026", "&" ) 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 -- Apparently formats are listed in quality order, -- so we can afford to simply take the first one # ========================================================================= From: Pierre Ynard Date: Fri, 5 Aug 2011 19:37:48 +0000 (+0200) Subject: youtube.lua: update to new website changes X-Git-Url: http://git.videolan.org/?p=vlc%2Fvlc-1.1.git;a=commitdiff_plain;h=9cb117783bb9dc4e361facf4d6da2378f07a759e youtube.lua: update to new website changes (cherry picked from commit 7158aaea585c198a4e536af1be9f3cbbe2e62f74) Signed-off-by: Pierre Ynard --- 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