[vlc-devel] [PATCH] vimeo playback now hides user agent automatically

Stephen Parry sgparry at mainscreen.com
Wed Mar 6 20:36:07 CET 2013


Vimeo injects garbage into pages fetched by any user agent recognisable as
being VLC. Amended parse routine to check the current user agent; if the user
agent is set to VLC then parse returns a replacement playlist entry with the
same url but with an option setting the user agent to something that vimeo will
not trash.
The main playlist parsing loop then re-opens the stream with the correct agent
and calls vimeo.lua a second time; the stream is then parsed as before to get
the actual shortlived video url.
---
 share/lua/playlist/vimeo.lua |    9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/share/lua/playlist/vimeo.lua b/share/lua/playlist/vimeo.lua
index 1200e44..6b38519 100644
--- a/share/lua/playlist/vimeo.lua
+++ b/share/lua/playlist/vimeo.lua
@@ -42,6 +42,15 @@ end
 
 -- Parse function.
 function parse()
+    agent = vlc.var.inherit(nil,"http-user-agent")
+    vlc.msg.dbg("Agent="..agent)
+
+    if string.match( string.lower(agent), ".*vlc.*" ) then
+        vlc.msg.dbg("Wrong agent...")
+        return { { path = vlc.access .. "://" .. vlc.path; options = {":http-user-agent=Mozilla/5.0" } } }
+    end
+
+    vlc.msg.dbg("Good agent...")
     _,_,id = string.find( vlc.path, "vimeo.com/([0-9]*)")
     prefres = get_prefres()
     ishd = false
-- 
1.7.9.5




More information about the vlc-devel mailing list