1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
From: Pierre Ynard <linkfanel@yahoo.fr>
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 <linkfanel@yahoo.fr>
---
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 <linkfanel@yahoo.fr>
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 <linkfanel@yahoo.fr>
---
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 <linkfanel@yahoo.fr>
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 <linkfanel@yahoo.fr>
---
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
|