Fix youtube lua plugin

el8
Nicolas Chauvet 14 years ago
parent b904f60f62
commit 726c51de4c

@ -0,0 +1,67 @@
diff --git a/src/input/vlm.c b/src/input/vlm.c
index facc49c..fe36742 100644
--- a/src/input/vlm.c
+++ b/src/input/vlm.c
@@ -218,7 +218,7 @@ static void vlm_Destructor( vlm_t *p_vlm )
TAB_CLEAN( p_vlm->i_media, p_vlm->media );
vlm_ControlInternal( p_vlm, VLM_CLEAR_SCHEDULES );
- TAB_CLEAN( p_vlm->schedule, p_vlm->schedule );
+ TAB_CLEAN( p_vlm->i_schedule, p_vlm->schedule );
vlc_mutex_unlock( &p_vlm->lock );
libvlc_priv(p_vlm->p_libvlc)->p_vlm = NULL;
@@ -472,7 +472,7 @@ static void* Manage( void* p_object )
}
}
}
- else
+ else if( i_nextschedule == 0 || i_real_date < i_nextschedule )
{
i_nextschedule = i_real_date;
}
diff --git a/share/lua/playlist/youtube.lua b/share/lua/playlist/youtube.lua
index 713bdc0..85ba428 100644
--- a/share/lua/playlist/youtube.lua
+++ b/share/lua/playlist/youtube.lua
@@ -35,10 +35,9 @@ end
-- Probe function.
function probe()
- if vlc.access ~= "http" then
+ if vlc.access ~= "http" and vlc.access ~= "https" then
return false
end
- options = {":demux=avformat,ffmpeg"}
youtube_site = string.match( string.sub( vlc.path, 1, 8 ), "youtube" )
if not youtube_site then
-- FIXME we should be using a builtin list of known youtube websites
@@ -89,6 +88,8 @@ 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
for itag,url in string.gmatch( fmt_url_map, "(%d+)|([^,]+)" ) do
-- Apparently formats are listed in quality order,
@@ -152,7 +153,7 @@ function parse()
path = "http://www.youtube.com/v/"..video_id
end
end
- return { { path = path; name = name; description = description; artist = artist; arturl = arturl; options = options } }
+ return { { path = path; name = name; description = description; artist = artist; arturl = arturl } }
else -- This is the flash player's URL
if string.match( vlc.path, "title=" ) then
name = vlc.strings.decode_uri(get_url_param( vlc.path, "title" ))
@@ -168,8 +169,8 @@ function parse()
if not string.match( vlc.path, "t=" ) then
-- This sucks, we're missing "t" which is now mandatory. Let's
-- try using another url
- return { { path = "http://www.youtube.com/v/"..video_id; name = name; arturl = arturl; options=options } }
+ return { { path = "http://www.youtube.com/v/"..video_id; name = name; arturl = arturl } }
end
- return { { path = "http://www.youtube.com/get_video.php?video_id="..video_id.."&t="..get_url_param( vlc.path, "t" )..format; name = name; arturl = arturl; options=options } }
+ return { { path = "http://www.youtube.com/get_video.php?video_id="..video_id.."&t="..get_url_param( vlc.path, "t" )..format; name = name; arturl = arturl } }
end
end

@ -29,7 +29,7 @@
Summary: The cross-platform open-source multimedia framework, player and server
Name: vlc
Version: 1.1.8
Release: 1%{?dist}
Release: 2%{?dist}
License: GPLv2+
Group: Applications/Multimedia
URL: http://www.videolan.org
@ -41,6 +41,7 @@ Patch0: vlc-1.1.0-vlc-cache-gen_noerror.patch
Patch3: vlc-1.1.6-hardode_font_patch.patch
Patch4: vlc-1.1.4-tls_path.patch
Patch5: vlc-1.1.8-bugfix.opencv22.patch
Patch6: vlc-1.1.8-bugfix-20110406.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: desktop-file-utils
@ -253,6 +254,7 @@ JACK audio plugin for the VLC media player.
%if 0%{?fedora} >= 15
%patch5 -p1 -b .opencv22
%endif
%patch6 -p1
sed -i.dmo_pic -e 's/fno-PIC/fPIC/' libs/loader/Makefile.in
rm modules/access/videodev2.h
@ -564,6 +566,9 @@ fi || :
%changelog
* Wed Apr 06 2011 Nicolas Chauvet <kwizart@gmail.com> - 1.1.8-2
- Backport youtube lua fix - rfbz#1675
* Thu Mar 24 2011 Nicolas Chauvet <kwizart@gmail.com> - 1.1.8-1
- Update to 1.1.8

Loading…
Cancel
Save