diff --git a/share/lua/playlist/vimeo.lua b/share/lua/playlist/vimeo.lua index 1143d317287e6ff7940ddf9fb94d0881d68fe553..d9eed17012ded144bfc2d8c33263d207b19727f7 100644 --- a/share/lua/playlist/vimeo.lua +++ b/share/lua/playlist/vimeo.lua @@ -37,10 +37,18 @@ function parse() while true do local line = vlc.readline() if not line then break end - path = string.match( line, "data%-config%-url=\"(.-)\"" ) - if path then - path = vlc.strings.resolve_xml_special_chars( path ) - return { { path = path } } + + -- Get the appropriate ubiquitous meta tag. It appears twice: + -- + -- + local meta = string.match( line, "(]- property=\"og:video:url\"[^>]->)" ) + if meta then + local path = string.match( meta, " content=\"(.-)\"" ) + -- Exclude moogaloop flash URL + if path and string.match( path, "player%.vimeo%.com" ) then + path = vlc.strings.resolve_xml_special_chars( path ) + return { { path = path } } + end end end