diff --git a/vlc-1.1.8-bugfix-20110406.patch b/vlc-1.1.8-bugfix-20110406.patch new file mode 100644 index 0000000..1f8cb3f --- /dev/null +++ b/vlc-1.1.8-bugfix-20110406.patch @@ -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 diff --git a/vlc.spec b/vlc.spec index d394673..2a7b8fb 100644 --- a/vlc.spec +++ b/vlc.spec @@ -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 - 1.1.8-2 +- Backport youtube lua fix - rfbz#1675 + * Thu Mar 24 2011 Nicolas Chauvet - 1.1.8-1 - Update to 1.1.8