+++ /dev/null
-From 581e530bf98f253fea39ec9bfd9f3287acb1a8c6 Mon Sep 17 00:00:00 2001
-From: Timo Rothenpieler <timo@rothenpieler.org>
-Date: Sun, 20 Jan 2013 15:49:23 +0000
-Subject: [PATCH] Make vaapi decoder compatible with latest libva changes
-
-Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
-(cherry picked from commit dc4b64c97b82d4d590ccf7fa1c938435cc26d98e)
-Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
----
- modules/codec/avcodec/vaapi.c | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/modules/codec/avcodec/vaapi.c b/modules/codec/avcodec/vaapi.c
-index 893ea15..d8703a0 100644
---- a/modules/codec/avcodec/vaapi.c
-+++ b/modules/codec/avcodec/vaapi.c
-@@ -41,6 +41,11 @@
- #include "va.h"
- #include "copy.h"
-
-+#ifndef VA_SURFACE_ATTRIB_SETTABLE
-+#define vaCreateSurfaces(d, f, w, h, s, ns, a, na) \
-+ vaCreateSurfaces(d, w, h, f, ns, s)
-+#endif
-+
- #ifdef HAVE_AVCODEC_VAAPI
-
- #include <vlc_xlib.h>
-@@ -258,8 +263,8 @@ static int CreateSurfaces( vlc_va_sys_t *p_va, void **pp_hw_ctx, vlc_fourcc_t *p
-
- /* Create surfaces */
- VASurfaceID pi_surface_id[p_va->i_surface_count];
-- if( vaCreateSurfaces( p_va->p_display, i_width, i_height, VA_RT_FORMAT_YUV420,
-- p_va->i_surface_count, pi_surface_id ) )
-+ if( vaCreateSurfaces( p_va->p_display, VA_RT_FORMAT_YUV420, i_width, i_height,
-+ pi_surface_id, p_va->i_surface_count, NULL, 0 ) )
- {
- for( int i = 0; i < p_va->i_surface_count; i++ )
- p_va->p_surface[i].i_id = VA_INVALID_SURFACE;
---
-1.7.10.4
-
else
p_sys->i_buffer_out = p_sys->i_frame_size * p_sys->i_sample_bytes;
p_sys->p_buffer_out = malloc( p_sys->i_buffer_out );
+--- vlc-2.0.8/modules/stream_out/switcher.c.orig 2013-06-18 00:07:53.000000000 +0200
++++ vlc-2.0.8/modules/stream_out/switcher.c 2013-08-09 18:03:43.092571170 +0200
+@@ -361,27 +361,28 @@
+
+ /* Set CPU capabilities */
+ unsigned i_cpu = vlc_CPU();
+- id->ff_enc_c->dsp_mask = 0;
++ int cpu_flags = av_get_cpu_flags();
+ if( !(i_cpu & CPU_CAPABILITY_MMX) )
+ {
+- id->ff_enc_c->dsp_mask |= AV_CPU_FLAG_MMX;
++ cpu_flags &= ~AV_CPU_FLAG_MMX;
+ }
+ if( !(i_cpu & CPU_CAPABILITY_MMXEXT) )
+ {
+- id->ff_enc_c->dsp_mask |= AV_CPU_FLAG_MMX2;
++ cpu_flags &= ~AV_CPU_FLAG_MMX2;
+ }
+ if( !(i_cpu & CPU_CAPABILITY_3DNOW) )
+ {
+- id->ff_enc_c->dsp_mask |= AV_CPU_FLAG_3DNOW;
++ cpu_flags &= ~AV_CPU_FLAG_3DNOW;
+ }
+ if( !(i_cpu & CPU_CAPABILITY_SSE) )
+ {
+- id->ff_enc_c->dsp_mask |= AV_CPU_FLAG_SSE;
++ cpu_flags &= ~AV_CPU_FLAG_SSE;
+ }
+ if( !(i_cpu & CPU_CAPABILITY_SSE2) )
+ {
+- id->ff_enc_c->dsp_mask |= AV_CPU_FLAG_SSE2;
++ cpu_flags &= ~AV_CPU_FLAG_SSE2;
+ }
++ av_force_cpu_flags(cpu_flags);
+
+ id->ff_enc_c->sample_rate = p_fmt->audio.i_rate;
+ id->ff_enc_c->time_base.num = 1;
+@@ -404,7 +405,7 @@
+ }
+ vlc_avcodec_unlock();
+
+- id->p_buffer_out = malloc( AVCODEC_MAX_AUDIO_FRAME_SIZE * 2 );
++ id->p_buffer_out = malloc( 192000 /* AVCODEC_MAX_AUDIO_FRAME_SIZE */ * 2 );
+ id->p_samples = calloc( id->ff_enc_c->frame_size * p_fmt->audio.i_channels,
+ sizeof(int16_t) );
+ if( !id->p_buffer_out || !id->p_samples )
+@@ -762,27 +763,28 @@
+
+ /* Set CPU capabilities */
+ unsigned i_cpu = vlc_CPU();
+- id->ff_enc_c->dsp_mask = 0;
++ int cpu_flags = av_get_cpu_flags();
+ if( !(i_cpu & CPU_CAPABILITY_MMX) )
+ {
+- id->ff_enc_c->dsp_mask |= AV_CPU_FLAG_MMX;
++ cpu_flags &= ~AV_CPU_FLAG_MMX;
+ }
+ if( !(i_cpu & CPU_CAPABILITY_MMXEXT) )
+ {
+- id->ff_enc_c->dsp_mask |= AV_CPU_FLAG_MMX2;
++ cpu_flags &= ~AV_CPU_FLAG_MMX2;
+ }
+ if( !(i_cpu & CPU_CAPABILITY_3DNOW) )
+ {
+- id->ff_enc_c->dsp_mask |= AV_CPU_FLAG_3DNOW;
++ cpu_flags &= ~AV_CPU_FLAG_3DNOW;
+ }
+ if( !(i_cpu & CPU_CAPABILITY_SSE) )
+ {
+- id->ff_enc_c->dsp_mask |= AV_CPU_FLAG_SSE;
++ cpu_flags &= ~AV_CPU_FLAG_SSE;
+ }
+ if( !(i_cpu & CPU_CAPABILITY_SSE2) )
+ {
+- id->ff_enc_c->dsp_mask |= AV_CPU_FLAG_SSE2;
++ cpu_flags &= ~AV_CPU_FLAG_SSE2;
+ }
++ av_force_cpu_flags(cpu_flags);
+
+ id->ff_enc_c->width = p_sys->p_pictures[p_sys->i_cmd-1].format.i_width;
+ id->ff_enc_c->height = p_sys->p_pictures[p_sys->i_cmd-1].format.i_height;
+@@ -969,7 +971,7 @@
+
+ (void)p_stream;
+ i_out = avcodec_encode_audio( id->ff_enc_c, id->p_buffer_out,
+- 2 * AVCODEC_MAX_AUDIO_FRAME_SIZE,
++ 2 * 192000 /* AVCODEC_MAX_AUDIO_FRAME_SIZE */,
+ id->p_samples );
+
+ if ( i_out <= 0 )
+++ /dev/null
---- vlc-2.0.6/modules/codec/flac.c.orig 2013-01-25 13:30:14.000000000 +0100
-+++ vlc-2.0.6/modules/codec/flac.c 2013-06-06 22:26:47.176022021 +0200
-@@ -38,8 +38,8 @@
- #include <vlc_codec.h>
- #include <vlc_aout.h>
-
--#include <stream_decoder.h>
--#include <stream_encoder.h>
-+#include <FLAC/stream_decoder.h>
-+#include <FLAC/stream_encoder.h>
-
- #include <vlc_block_helper.h>
- #include <vlc_bits.h>
p_sdt = WritePSISection( p_mux->p_sout, p_section2 );
PEStoTS( p_mux->p_sout, c, p_sdt, &p_sys->sdt );
dvbpsi_DeletePSISections( p_section2 );
+--- modules/demux/ts.c.orig 2013-08-08 19:38:57.049290576 +0200
++++ modules/demux/ts.c 2013-08-09 16:06:44.526199046 +0200
+@@ -3264,7 +3264,7 @@
+ {
+ if( b_current_following &&
+ ( p_sys->i_current_program == -1 ||
+- p_sys->i_current_program == p_eit->i_service_id ) )
++ p_sys->i_current_program == p_eit->i_extension ) )
+ {
+ p_sys->i_dvb_length = 0;
+ p_sys->i_dvb_start = 0;
+@@ -3275,7 +3275,7 @@
+ p_sys->i_dvb_length = CLOCK_FREQ * p_epg->p_current->i_duration;
+ }
+ }
+- es_out_Control( p_demux->out, ES_OUT_SET_GROUP_EPG, p_eit->i_service_id, p_epg );
++ es_out_Control( p_demux->out, ES_OUT_SET_GROUP_EPG, p_eit->i_extension, p_epg );
+ }
+ vlc_epg_Delete( p_epg );
+
+@@ -4506,7 +4506,8 @@
+ {
+ PIDInit( pmt, true, pat->psi );
+ pmt->psi->prg[pmt->psi->i_prg-1]->handle =
+- dvbpsi_pmt_attach( p_program->i_number,
++ dvbpsi_new(NULL, 0);
++ dvbpsi_pmt_attach(pmt->psi->prg[pmt->psi->i_prg-1]->handle, p_program->i_number,
+ (dvbpsi_pmt_callback)PMTCallBack,
+ p_demux );
+ pmt->psi->prg[pmt->psi->i_prg-1]->i_number =
+--- modules/mux/mpeg/ts.c.orig 2013-08-09 16:18:12.519503507 +0200
++++ modules/mux/mpeg/ts.c 2013-08-09 17:30:33.465988000 +0200
+@@ -2341,8 +2341,10 @@
+ p_sys->i_pmt_program_number[i],
+ p_sys->pmt[i].i_pid );
+
+- p_section = dvbpsi_pat_sections_generate( &pat,
++ dvbpsi_t *dvbpsi = dvbpsi_new(NULL, 0);
++ p_section = dvbpsi_pat_sections_generate( dvbpsi, &pat,
+ 0 ); /* max program per section */
++ dvbpsi_delete(dvbpsi);
+
+ p_pat = WritePSISection( p_mux->p_sout, p_section );
+
+@@ -2394,7 +2396,7 @@
+ }
+
+ if( p_sys->b_sdt )
+- dvbpsi_sdt_init( &sdt, p_sys->i_tsid, 1, 1, p_sys->i_netid );
++ dvbpsi_sdt_init( &sdt, p_sys->i_tsid, 1, 1, false, p_sys->i_netid );
+
+ for( i = 0; i < p_sys->i_num_pmt; i++ )
+ {
+@@ -2737,9 +2739,10 @@
+ }
+ }
+
++ dvbpsi_t *dvbpsi = dvbpsi_new(NULL, 0);
+ for( i = 0; i < p_sys->i_num_pmt; i++ )
+ {
+- p_section[i] = dvbpsi_pmt_sections_generate( &p_sys->dvbpmt[i] );
++ p_section[i] = dvbpsi_pmt_sections_generate( dvbpsi, &p_sys->dvbpmt[i] );
+ p_pmt[i] = WritePSISection( p_mux->p_sout, p_section[i] );
+ PEStoTS( p_mux->p_sout, c, p_pmt[i], &p_sys->pmt[i] );
+ dvbpsi_DeletePSISections( p_section[i] );
+@@ -2748,10 +2751,11 @@
+
+ if( p_sys->b_sdt )
+ {
+- p_section2 = dvbpsi_sdt_sections_generate( &sdt );
++ p_section2 = dvbpsi_sdt_sections_generate( dvbpsi, &sdt );
+ p_sdt = WritePSISection( p_mux->p_sout, p_section2 );
+ PEStoTS( p_mux->p_sout, c, p_sdt, &p_sys->sdt );
+ dvbpsi_DeletePSISections( p_section2 );
+- dvbpsi_EmptySDT( &sdt );
++ dvbpsi_sdt_empty( &sdt );
+ }
++ dvbpsi_delete(dvbpsi);
+ }
# - /usr/share/vlc/utils scripts insecure (use /tmp hardcoded paths)
# - [recheck old TODO]: flac plugin doesn't work with mono files
# - --enable-wma-fixed (fixed-point WMA - does it make sense on non-embedded?)
-## - --enable-shine (fixed-point MP3 encoding)
-## - --enable-omxil (openmax il codec)
-# - --enable-iomx (iomx codec)
-## - --enable-egl (R: OpenGL-devel, EGL-devel)
-## - --enable-media-library (Qt-based?)
# - decklink plugin (BR: Blackmagick DeckLink SDI, DeckLinkAPIDispatch.cpp) [proprietary?]
# - Hildon (hildon-1.pc hildon-fm-2.pc)
# - OSSO_SCREENSAVER (libosso.pc - Maemo platform)
Summary: VLC - a multimedia player and stream server
Summary(pl.UTF-8): VLC - odtwarzacz multimedialny oraz serwer strumieni
Name: vlc
-Version: 2.0.7
-Release: 4
+Version: 2.0.8
+Release: 1
License: GPL v2+
Group: X11/Applications/Multimedia
-Source0: http://download.videolan.org/pub/videolan/vlc/%{version}/%{name}-%{version}.tar.xz
-# Source0-md5: 3b0e465b0990097b65abaf3e25589957
+Source0: http://download.videolan.org/pub/videolan/vlc/%{version}/%{name}-%{version}a.tar.xz
+# Source0-md5: e5000677181406d026ffe448633d1ca0
Patch0: %{name}-buildflags.patch
Patch1: %{name}-defaultfont.patch
Patch2: %{name}-system-minizip.patch
Patch3: xmas-sucks.patch
Patch4: %{name}-opencv.patch
-Patch5: libva.patch
-Patch6: %{name}-flac.patch
Patch7: no-cache.patch
Patch8: %{name}-ffmpeg.patch
Patch9: %{name}-libdvbpsi.patch
Patch10: %{name}-live555.patch
URL: http://www.videolan.org/vlc/
%{?with_directfb:BuildRequires: DirectFB-devel}
+BuildRequires: EGL-devel
BuildRequires: OpenGL-devel
BuildRequires: QtCore-devel >= %{qtver}
BuildRequires: QtGui-devel >= %{qtver}
%patch3 -p1
%endif
%patch4 -p1
-%patch5 -p1
-%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p0
%attr(755,root,root) %{_libdir}/vlc/plugins/codec/liblibmpeg2_plugin.so
%attr(755,root,root) %{_libdir}/vlc/plugins/codec/liblpcm_plugin.so
%attr(755,root,root) %{_libdir}/vlc/plugins/codec/libmpeg_audio_plugin.so
+# R: libomxil-bellagio (dlopened, no .so NEEDED dependency)
+%attr(755,root,root) %{_libdir}/vlc/plugins/codec/libomxil_plugin.so
# R: opus
%attr(755,root,root) %{_libdir}/vlc/plugins/codec/libopus_plugin.so
# R: libpng
%attr(755,root,root) %{_libdir}/vlc/plugins/codec/libschroedinger_plugin.so
# R: SDL_image >= 1.2.10
%attr(755,root,root) %{_libdir}/vlc/plugins/codec/libsdl_image_plugin.so
+%attr(755,root,root) %{_libdir}/vlc/plugins/codec/libshine_plugin.so
# R: speex >= 1.0.5
%{?with_speex:%attr(755,root,root) %{_libdir}/vlc/plugins/codec/libspeex_plugin.so}
%attr(755,root,root) %{_libdir}/vlc/plugins/codec/libspudec_plugin.so
%attr(755,root,root) %{_libdir}/vlc/plugins/meta_engine/libfolder_plugin.so
# R: taglib >= 1.5
%attr(755,root,root) %{_libdir}/vlc/plugins/meta_engine/libtaglib_plugin.so
+%dir %{_libdir}/vlc/plugins/media_library
+%attr(755,root,root) %{_libdir}/vlc/plugins/media_library/libmedia_library_plugin.so
%dir %{_libdir}/vlc/plugins/misc
%attr(755,root,root) %{_libdir}/vlc/plugins/misc/libaudioscrobbler_plugin.so
%attr(755,root,root) %{_libdir}/vlc/plugins/misc/libexport_plugin.so
%attr(755,root,root) %{_libdir}/vlc/plugins/misc/libinhibit_plugin.so
%attr(755,root,root) %{_libdir}/vlc/plugins/misc/liblogger_plugin.so
%attr(755,root,root) %{_libdir}/vlc/plugins/misc/libmemcpy_plugin.so
+# R: sqlite3
+%attr(755,root,root) %{_libdir}/vlc/plugins/misc/libsqlite_plugin.so
%attr(755,root,root) %{_libdir}/vlc/plugins/misc/libxdg_screensaver_plugin.so
%ifarch %{ix86} %{x8664}
%{?with_aalib:%attr(755,root,root) %{_libdir}/vlc/plugins/video_output/libaa_plugin.so}
# R: libcaca >= 0.99-0.beta14
%{?with_caca:%attr(755,root,root) %{_libdir}/vlc/plugins/video_output/libcaca_plugin.so}
+# R: EGL, xorg-lib-libX11
+%attr(755,root,root) %{_libdir}/vlc/plugins/video_output/libegl_plugin.so
+# R: OpenGL
+%attr(755,root,root) %{_libdir}/vlc/plugins/video_output/libgl_plugin.so
# R: OpenGL libxcb >= 1.6
%attr(755,root,root) %{_libdir}/vlc/plugins/video_output/libxcb_glx_plugin.so
%attr(755,root,root) %{_libdir}/vlc/plugins/video_output/libxcb_window_plugin.so