vlc: update to 3.0.2.

This commit is contained in:
johannes 2018-04-25 02:04:31 +02:00 committed by Enno Boland
parent f3d7a91cd7
commit 2ead0e0838
7 changed files with 121 additions and 263 deletions

View File

@ -1435,8 +1435,10 @@ libxine.so.2 libxine-1.2.4_1
libjbig2dec.so.0 libjbig2dec-0.11_1
libsource-highlight.so.4 libsource-highlight-3.1.7_1
libvlc.so.5 libvlc-2.1.1_3
libvlccore.so.8 libvlc-2.2.0_1
libvlccore.so.9 libvlc-3.0.2_1
libvlc_vdpau.so.0 libvlc-2.2.0_1
libvlc_pulse.so.0 libvlc-3.0.2_1
libvlc_xcb_events.so.0 libvlc-3.0.2_1
libbtrfs.so.0 libbtrfs-3.12_1
libecore_audio.so.1 efl-1.12.0_1
libecore_con.so.1 efl-1.12.0_1

View File

@ -17,28 +17,28 @@
}
else
msg_Warn (ih, "error starting xdg-screensaver: %s",
--- modules/stream_filter/decomp.c 2015-02-28 08:48:24.264968381 -0200
+++ modules/stream_filter/decomp.c 2015-02-28 08:40:58.824945520 -0200
@@ -404,7 +404,7 @@
return VLC_SUCCESS;
if (p_sys->pid != -1)
- while (waitpid (p_sys->pid, &(int){ 0 }, 0) == -1);
+ while (waitpid (p_sys->pid, &(int){ 0 }, 0) == -1 && errno != ECHILD);
vlc_mutex_destroy (&p_sys->lock);
vlc_cond_destroy (&p_sys->wait);
free (p_sys);
@@ -429,7 +429,7 @@
close (p_sys->write_fd);
--- modules/stream_filter/decomp.c 2018-04-25 01:54:04.472412122 +0200
+++ modules/stream_filter/decomp.c 2018-04-25 01:55:13.065411209 +0200
@@ -330,7 +330,7 @@
if (ret != VLC_SUCCESS)
{
if (p_sys->pid != -1)
- while (waitpid (p_sys->pid, &(int){ 0 }, 0) == -1);
+ while (waitpid (p_sys->pid, &(int){ 0 }, 0) == -1 && errno != ECHILD);
vlc_mutex_destroy (&p_sys->lock);
vlc_cond_destroy (&p_sys->wait);
free (p_sys);
@@ -361,7 +361,7 @@
vlc_close (p_sys->write_fd);
msg_Dbg (obj, "waiting for PID %u", (unsigned)p_sys->pid);
- while (waitpid (p_sys->pid, &status, 0) == -1);
+ while (waitpid (p_sys->pid, &status, 0) == -1 && errno != ECHILD);
msg_Dbg (obj, "exit status %d", status);
if (p_sys->peeked)
--- src/posix/netconf.c 2015-02-28 08:48:24.264968381 -0200
+++ src/posix/netconf.c 2015-02-28 08:40:58.824945520 -0200
vlc_mutex_destroy (&p_sys->lock);
--- src/posix/netconf.c 2018-04-25 01:55:26.929411024 +0200
+++ src/posix/netconf.c 2018-04-25 01:56:29.878410186 +0200
@@ -28,6 +28,7 @@
#include <sys/types.h>
@ -47,10 +47,10 @@
#include <fcntl.h>
#include <spawn.h>
#include <unistd.h>
@@ -94,7 +95,7 @@
@@ -99,7 +100,7 @@
while (len < sizeof (buf));
close(fd[0]);
vlc_close(fd[0]);
- while (waitpid(pid, &(int){ 0 }, 0) == -1);
+ while (waitpid(pid, &(int){ 0 }, 0) == -1 && errno != ECHILD);

View File

@ -0,0 +1,10 @@
--- modules/text_renderer/freetype/text_layout.c.orig 2018-04-25 00:37:34.697473228 +0200
+++ modules/text_renderer/freetype/text_layout.c 2018-04-25 00:37:59.444472898 +0200
@@ -52,7 +52,6 @@
/* RTL */
#if defined(HAVE_FRIBIDI)
-# define FRIBIDI_NO_DEPRECATED 1
# include <fribidi.h>
#endif

View File

@ -0,0 +1,79 @@
https://git.videolan.org/?p=vlc.git;a=blob;f=modules/audio_filter/channel_mixer/simple_neon.h;h=2fe607566c38d8eba5c3308aff408cabc8422623;hb=147717df85c312ac559181fc0943839a3a3bf19c
file is missing in 3.0.2 tarball
--- /dev/null
+++ modules/audio_filter/channel_mixer/simple_neon.h
@@ -0,0 +1,72 @@
+/*****************************************************************************
+ * simple_neon.h : simple channel mixer plug-in using NEON assembly
+ *****************************************************************************
+ * Copyright (C) 2002, 2004, 2006-2009, 2012, 2015 VLC authors and VideoLAN
+ * $Id$
+ *
+ * Authors: Gildas Bazin <gbazin@videolan.org>
+ * David Geldreich <david.geldreich@free.fr>
+ * Sébastien Toque
+ * Thomas Guillem <thomas@gllm.fr>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+ *****************************************************************************/
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+#include <vlc_cpu.h>
+
+/* Only conversion to Mono, Stereo and 4.0 right now */
+/* Only from 7/7.1/5/5.1/3/3.1/2.0
+ * XXX 5.X rear and middle are handled the same way */
+
+#define NEON_WRAPPER(in, out) \
+ void convert_##in##_to_##out##_neon_asm(float *dst, const float *src, int num, bool lfeChannel); \
+ static inline void DoWork_##in##_to_##out##_neon( filter_t *p_filter, block_t *p_in_buf, block_t *p_out_buf ) \
+ { \
+ const float *p_src = (const float *)p_in_buf->p_buffer; \
+ float *p_dest = (float *)p_out_buf->p_buffer; \
+ convert_##in##_to_##out##_neon_asm( p_dest, p_src, p_in_buf->i_nb_samples, \
+ p_filter->fmt_in.audio.i_physical_channels & AOUT_CHAN_LFE ); \
+ } \
+ static inline void (*GET_WORK_##in##_to_##out##_neon())(filter_t*, block_t*, block_t*) \
+ { \
+ return vlc_CPU_ARM_NEON() ? DoWork_##in##_to_##out##_neon : DoWork_##in##_to_##out; \
+ }
+
+NEON_WRAPPER(7_x,2_0)
+NEON_WRAPPER(5_x,2_0)
+NEON_WRAPPER(4_0,2_0)
+NEON_WRAPPER(3_x,2_0)
+NEON_WRAPPER(7_x,1_0)
+NEON_WRAPPER(5_x,1_0)
+NEON_WRAPPER(7_x,4_0)
+NEON_WRAPPER(5_x,4_0)
+
+/* TODO: the following conversions are not handled in NEON */
+
+#define C_WRAPPER(in, out) \
+ static inline void (*GET_WORK_##in##_to_##out##_neon())(filter_t*, block_t*, block_t*) \
+ { \
+ return DoWork_##in##_to_##out; \
+ }
+
+C_WRAPPER(4_0,1_0)
+C_WRAPPER(3_x,1_0)
+C_WRAPPER(2_x,1_0)
+C_WRAPPER(6_1,2_0)
+C_WRAPPER(7_x,5_x)
+C_WRAPPER(6_1,5_x)

View File

@ -1,193 +0,0 @@
Fixed by @Vaelatern to modify configure.am instead of configure,
and to use -p0 instead of -p1
http://www.linuxfromscratch.org/patches/blfs/svn/vlc-2.2.4-ffmpeg3-1.patch
Submitted By: Armin K <krejzi au email do com>
Date: 2016-05-06
Initial Package Version: 2.2.3
Upstream Status: Committed
Origin: Upstream
Description: Fixes building against ffmpeg3
Rediffed for version 2.2.3 by Bruce Dubbs
diff -Naur configure configure
--- configure.ac 2016-09-21 17:28:06.168721882 -0400
+++ configure.ac 2016-09-21 17:30:16.529223098 -0400
@@ -2323,8 +2323,8 @@
[ --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.])
+ PKG_CHECK_EXISTS([libavutil > 55],, [
+ AC_MSG_ERROR([libavutil versions 55 and before are not supported.])
])
VLC_SAVE_FLAGS
CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
@@ -2382,8 +2382,8 @@
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.])
+ PKG_CHECK_EXISTS([libavcodec <= 57.10.100], [
+ AC_MSG_ERROR([VA API requires FFmpeg libavcodec > 57.10 or libav.])
])
;;
esac
@@ -2416,8 +2416,8 @@
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.])
+ PKG_CHECK_EXISTS([libavcodec <= 57.10.100], [
+ AC_MSG_ERROR([DXVA2 requires FFmpeg libavcodec > 57.10 or libav.])
])
;;
esac
@@ -3180,7 +3180,7 @@
case "${avfork}" in
libav) av_vdpau_ver="55.26.0" ;;
ffmpeg) av_vdpau_ver="55.42.100"
- PKG_CHECK_EXISTS([libavcodec >= 57.10.100], [
+ PKG_CHECK_EXISTS([libavcodec <= 57.10.100], [
AC_MSG_ERROR([VDPAU requires FFmpeg libavcodec < 57.10 or libav.])
])
;;
--- modules/codec/avcodec/audio.c 2015-12-08 10:18:56.000000000 -0600
+++ modules/codec/avcodec/audio.c 2016-05-06 22:39:24.859030920 -0500
@@ -36,12 +36,11 @@
#include <vlc_codec.h>
#include <vlc_avcodec.h>
+#include "avcodec.h"
+
#include <libavcodec/avcodec.h>
#include <libavutil/mem.h>
-#include <libavutil/audioconvert.h>
-
-#include "avcodec.h"
/*****************************************************************************
* decoder_sys_t : decoder descriptor
diff -Naur modules/codec/avcodec/avcommon_compat.h modules/codec/avcodec/avcommon_compat.h
--- modules/codec/avcodec/avcommon_compat.h 2015-03-01 08:07:35.000000000 -0600
+++ modules/codec/avcodec/avcommon_compat.h 2016-05-06 22:39:24.859030920 -0500
@@ -506,6 +506,15 @@
#endif /* HAVE_LIBAVUTIL_AVUTIL_H */
+#if LIBAVUTIL_VERSION_MAJOR >= 55
+# define FF_API_AUDIOCONVERT 1
+#endif
+
+/* libavutil/pixfmt.h */
+#ifndef PixelFormat
+# define PixelFormat AVPixelFormat
+#endif
+
#ifdef HAVE_LIBAVFORMAT_AVFORMAT_H
# include <libavformat/avformat.h>
diff -Naur modules/codec/avcodec/encoder.c modules/codec/avcodec/encoder.c
--- modules/codec/avcodec/encoder.c 2015-10-21 11:36:45.000000000 -0500
+++ modules/codec/avcodec/encoder.c 2016-05-06 22:39:24.860030887 -0500
@@ -41,7 +41,6 @@
#include <vlc_cpu.h>
#include <libavcodec/avcodec.h>
-#include <libavutil/audioconvert.h>
#include "avcodec.h"
#include "avcommon.h"
@@ -311,7 +310,7 @@
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;
@@ -1017,7 +1016,7 @@
}
}
- p_sys->frame = avcodec_alloc_frame();
+ p_sys->frame = av_frame_alloc();
if( !p_sys->frame )
{
goto error;
@@ -1088,7 +1087,8 @@
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 +1329,7 @@
//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 +1451,8 @@
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
diff -Naur modules/codec/avcodec/vaapi.c modules/codec/avcodec/vaapi.c
--- modules/codec/avcodec/vaapi.c 2014-11-16 12:57:58.000000000 -0600
+++ modules/codec/avcodec/vaapi.c 2016-05-06 22:39:24.860030887 -0500
@@ -595,7 +595,7 @@
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 -Naur modules/codec/avcodec/video.c modules/codec/avcodec/video.c
--- modules/codec/avcodec/video.c 2016-04-04 19:45:24.000000000 -0500
+++ modules/codec/avcodec/video.c 2016-05-06 22:39:24.860030887 -0500
@@ -234,7 +234,7 @@
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 @@
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 @@
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 );

View File

@ -1,34 +0,0 @@
X-Git-Url: https://git.videolan.org/?p=vlc.git;a=blobdiff_plain;f=src%2Finput%2Fdecoder.c;h=fe3cd428c65c18bfbdadb55baf11521afdc2bfc7;hp=83aa5bf54e2c29ad93fae803117558e4fcd0f658;hb=6ae2905ef7fbc7de3a3a4a1bdf8ad6df46ce570a;hpb=5b2de76965ee8b1ab5e3257f8b6d71bbb4e9e3f9
--- src/input/decoder.c
+++ src/input/decoder.c
@@ -1162,7 +1162,10 @@
b_paused = p_owner->b_paused;
if (!p_audio)
+ {
+ vlc_mutex_unlock( &p_owner->lock );
break;
+ }
/* */
int i_rate = INPUT_RATE_DEFAULT;
@@ -1180,6 +1183,9 @@
if( unlikely(p_owner->b_paused != b_paused) )
continue; /* race with input thread? retry... */
+
+ vlc_mutex_unlock( &p_owner->lock );
+
if( p_aout == NULL )
b_reject = true;
@@ -1199,7 +1205,6 @@
break;
}
- vlc_mutex_unlock( &p_owner->lock );
}
static void DecoderDecodeAudio( decoder_t *p_dec, block_t *p_block )

View File

@ -1,25 +1,25 @@
# Template file for 'vlc'
pkgname=vlc
version=2.2.8
revision=8
version=3.0.2
revision=1
build_style=gnu-configure
configure_args="--disable-gme --disable-libtar --enable-jack
--disable-live555 --disable-fluidsynth --enable-dvdread
--enable-flac --enable-merge-ffmpeg --disable-gnomevfs
--enable-flac --enable-merge-ffmpeg
$(vopt_enable notify) $(vopt_enable qt) $(vopt_enable x265)
$(vopt_enable svg) $(vopt_enable v4l2) $(vopt_enable smb smbclient)
$(vopt_enable lua) $(vopt_enable vaapi libva) $(vopt_enable vdpau)"
short_desc="A cross-platform multimedia player"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="https://www.videolan.org/vlc/"
license="GPL-2, LGPL-2.1"
license="GPL-2.0-only, LGPL-2.1-only"
distfiles="https://download.videolan.org/pub/videolan/vlc/${version}/vlc-${version}.tar.xz"
checksum=9bf046848fb56d93518881b39099b8288ee005d5ba0ddf705b6f6643b8d562ec
checksum=efe8c889b69bffba9662140bdcf434d9d36edc5dbb0e300fcce4553c354ea198
lib32disabled=yes
# XXX Add missing deps: gme, telepathy, live555, libtar (for skins2).
hostmakedepends="automake libtool pkg-config libgcrypt-devel $(vopt_if lua lua52)"
hostmakedepends="automake libtool pkg-config flex bison libgcrypt-devel $(vopt_if lua lua52)"
makedepends="xorgproto eudev-libudev-devel libpng-devel libupnp1.8-devel
ncurses-devel libvorbis-devel x264-devel ffmpeg-devel sndio-devel
xcb-util-devel xcb-util-keysyms-devel libsamplerate-devel
@ -31,11 +31,13 @@ makedepends="xorgproto eudev-libudev-devel libpng-devel libupnp1.8-devel
libcdio-devel libdvdnav-devel libsysfs-devel libmtp-devel
sqlite-devel libtheora-devel speex-devel pulseaudio-devel libxml2-devel
opus-devel libbluray-devel faad2-devel jack-devel libSM-devel freefont-ttf
wayland-protocols
$(vopt_if notify libnotify-devel) $(vopt_if opengl MesaLib-devel)
$(vopt_if qt qt5-x11extras-devel) $(vopt_if svg librsvg-devel)
$(vopt_if qt qt5-x11extras-devel) $(vopt_if qt qt5-svg-devel)
$(vopt_if v4l2 v4l-utils-devel) $(vopt_if smb samba-devel)
$(vopt_if lua lua52-devel) $(vopt_if vaapi libva-devel)
$(vopt_if vdpau libvdpau-devel) $(vopt_if x265 x265-devel)"
$(vopt_if vdpau libvdpau-devel) $(vopt_if x265 x265-devel)
$(vopt_if svg librsvg-devel)"
depends="freefont-ttf hicolor-icon-theme desktop-file-utils"
# Package build options
@ -68,17 +70,8 @@ pre_configure() {
# hostname -s is not valid, at least in coreutils!
sed -i "s|hostname -s|hostname|g" configure
sed -i -e "s|/usr/share/fonts/truetype/freefont|/usr/share/fonts/TTF|" \
-e 's,freetype/ftsynth.h,freetype2/ftsynth.h,' \
modules/text_renderer/freetype.c
sed -i share/Makefile.am -e 's;tar cvvzf;tar cvzf;'
}
pre_build() {
# -O[34] causes an internal compiler error with musl/gcc-4.9.2:
# internal compiler error: in vect_analyze_data_ref_accesses,
# at tree-vect-data-refs.c:2567
sed -i 's,-O4,-O2,g' -i modules/video_filter/Makefile
}
pre_install() {
if [ -n "$CROSS_BUILD" ]; then
# install .lua files instead of precompiled .luac ones
@ -101,6 +94,7 @@ libvlc_package() {
short_desc+=" - runtime libraries"
pkg_install() {
vmove "usr/lib/*.so.*"
vmove "usr/lib/vlc/libvlc*.so.*"
for f in ${DESTDIR}/usr/lib/vlc/plugins/*; do
plugindir="$(basename ${f##${DESTDIR}})"
[ "$plugindir" = "gui" ] && continue