Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-1.1
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-1.1
Commits
b7e41633
Commit
b7e41633
authored
Sep 05, 2008
by
Antoine Cellerier
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix google video playlist script.
parent
06ff9b78
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
44 additions
and
12 deletions
+44
-12
share/lua/playlist/googlevideo.lua
share/lua/playlist/googlevideo.lua
+44
-12
No files found.
share/lua/playlist/googlevideo.lua
View file @
b7e41633
...
...
@@ -18,26 +18,58 @@
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
--]]
function
get_url_param
(
url
,
name
)
return
string.gsub
(
url
,
"^.*[&?]"
..
name
..
"=([^&]*).*$"
,
"%1"
)
end
-- Probe function.
function
probe
()
return
vlc
.
access
==
"http"
and
string.match
(
vlc
.
path
,
"video.google.com"
)
and
string.match
(
vlc
.
path
,
"videoplay"
)
and
(
string.match
(
vlc
.
path
,
"videoplay"
)
or
string.match
(
vlc
.
path
,
"videofeed"
)
)
end
function
get_arg
(
line
,
arg
)
return
string.gsub
(
line
,
"^.*"
..
arg
..
"=\"
(.
-
)
\
".*$"
,
"%1"
)
end
-- Parse function.
function
parse
()
while
true
do
line
=
vlc
.
readline
()
if
not
line
then
break
end
if
string.match
(
line
,
"^<title>"
)
then
title
=
string.gsub
(
line
,
"<title>([^<]*).*"
,
"%1"
)
end
if
string.match
(
line
,
"src=\"
/
googleplayer
.
swf
" ) then
url = string.gsub( line, "
.
*
videoUrl
=
([
^
&
]
*
).
*
" ,"
%
1
" )
arturl = string.gsub( line, "
.
*
thumbnailUrl
=
([
^
\
"]*).*"
,
"%1"
)
return
{
{
path
=
vlc
.
strings
.
decode_uri
(
url
),
title
=
title
,
arturl
=
vlc
.
strings
.
decode_uri
(
arturl
)
}
}
local
docid
=
get_url_param
(
vlc
.
path
,
"docid"
)
if
string.match
(
vlc
.
path
,
"videoplay"
)
then
return
{
{
path
=
"http://video.google.com/videofeed?docid="
..
docid
}
}
elseif
string.match
(
vlc
.
path
,
"videofeed"
)
then
local
path
=
nil
local
arturl
local
duration
local
name
local
description
while
true
do
local
line
=
vlc
.
readline
()
if
not
line
then
break
end
if
string.match
(
line
,
"media:content.*flv"
)
then
local
s
=
string.gsub
(
line
,
"^.*<media:content(.-)/>.*$"
,
"%1"
)
path
=
vlc
.
strings
.
resolve_xml_special_chars
(
get_arg
(
s
,
"url"
))
duration
=
get_arg
(
s
,
"duration"
)
end
if
string.match
(
line
,
"media:thumbnail"
)
then
local
s
=
string.gsub
(
line
,
"^.*<media:thumbnail(.-)/>.*$"
,
"%1"
)
arturl
=
vlc
.
strings
.
resolve_xml_special_chars
(
get_arg
(
s
,
"url"
))
vlc
.
msg
.
err
(
tostring
(
arturl
))
end
if
string.match
(
line
,
"media:title"
)
then
name
=
string.gsub
(
line
,
"^.*<media:title>(.-)</media:title>.*$"
,
"%1"
)
end
if
string.match
(
line
,
"media:description"
)
then
description
=
string.gsub
(
line
,
"^.*<media:description>(.-)</media:description>.*$"
,
"%1"
)
end
end
return
{
{
path
=
path
;
name
=
name
;
arturl
=
arturl
;
duration
=
duration
;
description
=
description
}
}
end
end
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment