diff --git a/multimedia/video/vlc/actions.py b/multimedia/video/vlc/actions.py index af54711f2c..b184d4e9b0 100644 --- a/multimedia/video/vlc/actions.py +++ b/multimedia/video/vlc/actions.py @@ -25,24 +25,20 @@ def setup(): --with-default-font=/usr/share/fonts/dejavu/DejaVuSans.ttf \ --with-default-monospace-font=/usr/share/fonts/dejavu/DejaVuSansMono.ttf \ --with-x \ - LUAC=luac \ + LUAC=luac LUA_LIBS='`pkg-config --libs lua`' \ + RCC=/usr/bin/rcc-qt5 \ --disable-asdcp \ --disable-coverage \ --disable-cprof \ --disable-crystalhd \ --disable-decklink \ - --disable-gles1 \ - --disable-gles2 \ --disable-goom \ --disable-kai \ --disable-kva \ --disable-maintainer-mode \ - --disable-merge-ffmpeg \ - --disable-mfx \ --disable-mmal-codec \ --disable-mmal-vout \ --disable-opensles \ - --disable-quicktime \ --disable-rpi-omxil \ --disable-shine \ --disable-sndio \ @@ -62,7 +58,8 @@ def setup(): --disable-static \ --disable-update-check \ --disable-silent-rules \ - --disable-qt4 \ + --disable-mfx \ + --enable-ncurses \ --enable-a52 \ --enable-aa \ --enable-alsa \ @@ -91,7 +88,6 @@ def setup(): --enable-mod \ --enable-mpc \ --enable-nls \ - --disable-ncurses \ --enable-ogg \ --enable-opus \ --enable-png \ @@ -101,26 +97,29 @@ def setup(): --enable-screen \ --enable-sdl \ --enable-sftp \ + --enable-schroedinger \ --enable-shared \ - --disable-skins2 \ --enable-smbclient \ --enable-sout \ --enable-speex \ --enable-svg \ - --enable-skins2 \ --enable-theora \ --enable-twolame \ --enable-upnp \ - --enable-upnp \ --enable-v4l2 \ --enable-vlc \ --enable-vcd \ + --enable-mtp \ --enable-vcdx \ --enable-vlm \ --enable-vorbis \ + --enable-x264 \ --enable-x265 \ --enable-xvideo \ + --enable-qt5 \ ") + #enable-skins2 \ --disable-qt4 \ + shelltools.export("CFLAGS", "%s -fPIC -O2 -Wall -Wextra -DLUA_COMPAT_5_1" % get.CFLAGS()) # for fix unused dependency pisitools.dosed("libtool"," -shared ", " -Wl,--as-needed -shared ") diff --git a/multimedia/video/vlc/files/ffmpeg3.patch b/multimedia/video/vlc/files/ffmpeg3.patch new file mode 100644 index 0000000000..847756ba94 --- /dev/null +++ b/multimedia/video/vlc/files/ffmpeg3.patch @@ -0,0 +1,208 @@ +diff -ruNp vlc-2.2.3.orig/configure.ac vlc-2.2.3/configure.ac +--- vlc-2.2.3.orig/configure.ac 2016-04-05 02:45:40.000000000 +0200 ++++ vlc-2.2.3/configure.ac 2016-05-21 19:19:05.527202127 +0200 +@@ -2323,9 +2323,6 @@ AC_ARG_ENABLE(avcodec, + [ --enable-avcodec libavcodec codec (default enabled)]) + AS_IF([test "${enable_avcodec}" != "no"], [ + PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 53.34.0 libavutil >= 51.22.0], [ +- PKG_CHECK_EXISTS([libavutil < 55],, [ +- AC_MSG_ERROR([libavutil versions 55 and later are not supported.]) +- ]) + VLC_SAVE_FLAGS + CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}" + CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}" +@@ -2382,9 +2379,6 @@ have_avcodec_vaapi="no" + AS_IF([test "${have_vaapi}" = "yes" -a "${have_avcodec}" = "yes"], [ + case "${avfork}" in + ffmpeg) +- PKG_CHECK_EXISTS([libavcodec >= 57.10.100], [ +- AC_MSG_ERROR([VA API requires FFmpeg libavcodec < 57.10 or libav.]) +- ]) + ;; + esac + VLC_SAVE_FLAGS +@@ -2416,9 +2410,6 @@ AS_IF([test "${enable_dxva2}" != "no"], + AS_IF([test "x${have_avcodec}" = "xyes"], [ + case "${avfork}" in + ffmpeg) +- PKG_CHECK_EXISTS([libavcodec >= 57.10.100], [ +- AC_MSG_ERROR([DXVA2 requires FFmpeg libavcodec < 57.10 or libav.]) +- ]) + ;; + esac + AC_CHECK_HEADERS(dxva2api.h, +@@ -3180,9 +3171,6 @@ AS_IF([test "${have_vdpau}" = "yes" -a " + case "${avfork}" in + libav) av_vdpau_ver="55.26.0" ;; + ffmpeg) av_vdpau_ver="55.42.100" +- PKG_CHECK_EXISTS([libavcodec >= 57.10.100], [ +- AC_MSG_ERROR([VDPAU requires FFmpeg libavcodec < 57.10 or libav.]) +- ]) + ;; + esac + PKG_CHECK_EXISTS([libavutil >= 52.4.0 libavcodec >= ${av_vdpau_ver}], [ +diff -ruNp vlc-2.2.3.orig/modules/codec/avcodec/audio.c vlc-2.2.3/modules/codec/avcodec/audio.c +--- vlc-2.2.3.orig/modules/codec/avcodec/audio.c 2015-12-08 17:18:56.000000000 +0100 ++++ vlc-2.2.3/modules/codec/avcodec/audio.c 2016-05-21 19:19:05.527202127 +0200 +@@ -39,7 +39,6 @@ + #include + #include + +-#include + + #include "avcodec.h" + +diff -ruNp vlc-2.2.3.orig/modules/codec/avcodec/encoder.c vlc-2.2.3/modules/codec/avcodec/encoder.c +--- vlc-2.2.3.orig/modules/codec/avcodec/encoder.c 2015-10-21 18:36:45.000000000 +0200 ++++ vlc-2.2.3/modules/codec/avcodec/encoder.c 2016-05-21 19:19:07.451194268 +0200 +@@ -41,7 +41,6 @@ + #include + + #include +-#include + + #include "avcodec.h" + #include "avcommon.h" +@@ -311,7 +310,7 @@ int OpenEncoder( vlc_object_t *p_this ) + else if( !GetFfmpegCodec( p_enc->fmt_out.i_codec, &i_cat, &i_codec_id, + &psz_namecodec ) ) + { +- if( FindFfmpegChroma( p_enc->fmt_out.i_codec ) == PIX_FMT_NONE ) ++ if( FindFfmpegChroma( p_enc->fmt_out.i_codec ) == AV_PIX_FMT_NONE ) + return VLC_EGENERIC; /* handed chroma output */ + + i_cat = VIDEO_ES; +@@ -555,7 +554,7 @@ int OpenEncoder( vlc_object_t *p_this ) + + if( p_codec->pix_fmts ) + { +- const enum PixelFormat *p = p_codec->pix_fmts; ++ const enum AVPixelFormat *p = p_codec->pix_fmts; + for( ; *p != -1; p++ ) + { + if( *p == p_context->pix_fmt ) break; +@@ -1017,7 +1016,7 @@ errmsg: + } + } + +- p_sys->frame = avcodec_alloc_frame(); ++ p_sys->frame = av_frame_alloc(); + if( !p_sys->frame ) + { + goto error; +@@ -1088,7 +1087,7 @@ static block_t *EncodeVideo( encoder_t * + AVFrame *frame = NULL; + if( likely(p_pict) ) { + frame = p_sys->frame; +- avcodec_get_frame_defaults( frame ); ++ av_frame_unref( frame ); + for( i_plane = 0; i_plane < p_pict->i_planes; i_plane++ ) + { + p_sys->frame->data[i_plane] = p_pict->p[i_plane].p_pixels; +@@ -1329,7 +1328,7 @@ static block_t *handle_delay_buffer( enc + //How much we need to copy from new packet + const int leftover = leftover_samples * p_sys->p_context->channels * p_sys->i_sample_bytes; + +- avcodec_get_frame_defaults( p_sys->frame ); ++ av_frame_unref( p_sys->frame ); + p_sys->frame->format = p_sys->p_context->sample_fmt; + p_sys->frame->nb_samples = leftover_samples + p_sys->i_samples_delay; + +@@ -1451,7 +1450,7 @@ static block_t *EncodeAudio( encoder_t * + while( ( p_aout_buf->i_nb_samples >= p_sys->i_frame_size ) || + ( p_sys->b_variable && p_aout_buf->i_nb_samples ) ) + { +- avcodec_get_frame_defaults( p_sys->frame ); ++ av_frame_unref( p_sys->frame ); + if( p_sys->b_variable ) + p_sys->frame->nb_samples = p_aout_buf->i_nb_samples; + else +@@ -1514,7 +1513,7 @@ void CloseEncoder( vlc_object_t *p_this + encoder_t *p_enc = (encoder_t *)p_this; + encoder_sys_t *p_sys = p_enc->p_sys; + +- /*FIXME: we should use avcodec_free_frame, but we don't require so new avcodec that has it*/ ++ /*FIXME: we should use av_frame_free, but we don't require so new avcodec that has it*/ + av_freep( &p_sys->frame ); + + vlc_avcodec_lock(); +diff -ruNp vlc-2.2.3.orig/modules/codec/avcodec/vaapi.c vlc-2.2.3/modules/codec/avcodec/vaapi.c +--- vlc-2.2.3.orig/modules/codec/avcodec/vaapi.c 2014-11-16 19:57:58.000000000 +0100 ++++ vlc-2.2.3/modules/codec/avcodec/vaapi.c 2016-05-21 19:19:07.452194264 +0200 +@@ -595,7 +595,7 @@ static int Create( vlc_va_t *p_va, AVCod + return err; + + /* Only VLD supported */ +- p_va->pix_fmt = PIX_FMT_VAAPI_VLD; ++ p_va->pix_fmt = AV_PIX_FMT_VAAPI_VLD; + p_va->setup = Setup; + p_va->get = Get; + p_va->release = Release; +diff -ruNp vlc-2.2.3.orig/modules/codec/avcodec/video.c vlc-2.2.3/modules/codec/avcodec/video.c +--- vlc-2.2.3.orig/modules/codec/avcodec/video.c 2016-04-05 02:45:24.000000000 +0200 ++++ vlc-2.2.3/modules/codec/avcodec/video.c 2016-05-21 19:19:07.453194260 +0200 +@@ -108,8 +108,8 @@ static int lavc_GetFrame(struct AVCodecC + static int ffmpeg_GetFrameBuf ( struct AVCodecContext *, AVFrame * ); + static void ffmpeg_ReleaseFrameBuf( struct AVCodecContext *, AVFrame * ); + #endif +-static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *, +- const enum PixelFormat * ); ++static enum AVPixelFormat ffmpeg_GetFormat( AVCodecContext *, ++ const enum AVPixelFormat * ); + + static uint32_t ffmpeg_CodecTag( vlc_fourcc_t fcc ) + { +@@ -234,7 +234,7 @@ int InitVideoDec( decoder_t *p_dec, AVCo + p_sys->p_codec = p_codec; + p_sys->i_codec_id = i_codec_id; + p_sys->psz_namecodec = psz_namecodec; +- p_sys->p_ff_pic = avcodec_alloc_frame(); ++ p_sys->p_ff_pic = av_frame_alloc(); + p_sys->b_delayed_open = true; + p_sys->p_va = NULL; + vlc_sem_init( &p_sys->sem_mt, 0 ); +@@ -446,7 +446,7 @@ int InitVideoDec( decoder_t *p_dec, AVCo + if( ffmpeg_OpenCodec( p_dec ) < 0 ) + { + msg_Err( p_dec, "cannot open codec (%s)", p_sys->psz_namecodec ); +- avcodec_free_frame( &p_sys->p_ff_pic ); ++ av_frame_free( &p_sys->p_ff_pic ); + vlc_sem_destroy( &p_sys->sem_mt ); + free( p_sys ); + return VLC_EGENERIC; +@@ -826,7 +826,7 @@ void EndVideoDec( decoder_t *p_dec ) + wait_mt( p_sys ); + + if( p_sys->p_ff_pic ) +- avcodec_free_frame( &p_sys->p_ff_pic ); ++ av_frame_free( &p_sys->p_ff_pic ); + + if( p_sys->p_va ) + vlc_va_Delete( p_sys->p_va ); +@@ -1313,8 +1313,8 @@ static void ffmpeg_ReleaseFrameBuf( stru + } + #endif + +-static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *p_context, +- const enum PixelFormat *pi_fmt ) ++static enum AVPixelFormat ffmpeg_GetFormat( AVCodecContext *p_context, ++ const enum AVPixelFormat *pi_fmt ) + { + decoder_t *p_dec = p_context->opaque; + decoder_sys_t *p_sys = p_dec->p_sys; +@@ -1341,6 +1341,15 @@ static enum PixelFormat ffmpeg_GetFormat + if (!can_hwaccel) + goto end; + ++#if (LIBAVCODEC_VERSION_MICRO >= 100) /* FFmpeg only */ ++ if (p_context->active_thread_type) ++ { ++ msg_Warn(p_dec, "thread type %d: disabling hardware acceleration", ++ p_context->active_thread_type); ++ goto end; ++ } ++#endif ++ + /* Profile and level information is needed now. + * TODO: avoid code duplication with avcodec.c */ +if( p_context->profile != FF_PROFILE_UNKNOWN) \ No newline at end of file diff --git a/multimedia/video/vlc/files/lua53_compat.patch b/multimedia/video/vlc/files/lua53_compat.patch new file mode 100644 index 0000000000..70144ce2ac --- /dev/null +++ b/multimedia/video/vlc/files/lua53_compat.patch @@ -0,0 +1,30 @@ +commit 41caaa08cde60c4fec4bf2e5f9610e2a1b9e6a23 +Author: Vinson Lee +Date: Thu Feb 5 14:48:53 2015 -0800 + + lua: Define LUA_COMPAT_APIINTCASTS for Lua >= 5.3.0 compatibility. + + In Lua 5.3.0, luaL_checkint was deprecated. + + This patch fixes this build error with Lua 5.3.0. + + lua/demux.c: In function ‘vlclua_demux_peek’: + lua/demux.c:55:5: error: implicit declaration of function ‘luaL_checkint’ [-Werror=implicit-function-declaration] + int n = luaL_checkint( L, 1 ); + ^ + + Signed-off-by: Vinson Lee + Signed-off-by: Jean-Baptiste Kempf + +diff --git a/modules/lua/vlc.h b/modules/lua/vlc.h +index efd94f1..85c7fc1 100644 +--- a/modules/lua/vlc.h ++++ b/modules/lua/vlc.h +@@ -38,6 +38,7 @@ + #include + #include + ++#define LUA_COMPAT_APIINTCASTS + #define LUA_COMPAT_MODULE + #include /* Low level lua C API */ + #include /* Higher level C API */ \ No newline at end of file diff --git a/multimedia/video/vlc/pspec.xml b/multimedia/video/vlc/pspec.xml index e417af79be..239c2e6bad 100644 --- a/multimedia/video/vlc/pspec.xml +++ b/multimedia/video/vlc/pspec.xml @@ -13,12 +13,12 @@ app:gui VLC media player VLC is a famous video player and streamer. - http://www.vlc.de/download/vlc/linux/vlc-2.2.0.tar.xz + http://mirrors.netix.net/vlc/vlc/2.2.4/vlc-2.2.4.tar.xz - libcdio + libcdio-devel eudev-devel lua-devel - libgcrypt + libgcrypt-devel xcb-proto zlib-devel gtk2-devel @@ -87,6 +87,7 @@ openssl-devel libvorbis-devel libdc1394-devel + ncurses-devel libid3tag-devel sdl-image-devel libmpcdec-devel @@ -119,12 +120,14 @@ zvbi-devel + ffmpeg3.patch + lua53_compat.patch qt4-select.patch - lc-2.2.0-fix-xcb.patch - vlc-2.2.0-rdp-1.2.0.patch + + vlc-2.1.1-desktop.patch - vlc-2.0.4-fix-definition.patch - vlc-2.1.0-TomWij-bisected-PA-broken-underflow.patch + + @@ -133,6 +136,7 @@ qt5-base qt5-x11extras + ncurses libtar libXpm fribidi @@ -284,6 +288,13 @@ + + 2016-06-14 + 2.2.4 + Version Bump + Alihan Öztürk + alihan@pisilinux.org + 2016-06-09 2.2.0