Update to Xine-lib 1.2.10.

from Brad (maintainer)
Build tested on amd64, i386, powerpc, and sparc64.
Runtime tested on amd64 and powerpc.
This commit is contained in:
ajacoutot 2019-12-25 15:50:45 +00:00
parent 1bbf221087
commit 442df69140
21 changed files with 528 additions and 148 deletions

View File

@ -1,14 +1,13 @@
# $OpenBSD: Makefile,v 1.143 2019/08/19 06:04:23 ajacoutot Exp $
# $OpenBSD: Makefile,v 1.144 2019/12/25 15:50:45 ajacoutot Exp $
COMMENT= multimedia decoding library
DISTNAME= xine-lib-1.2.9
REVISION= 3
DISTNAME= xine-lib-1.2.10
CATEGORIES= multimedia
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=xine/}
EXTRACT_SUFX= .tar.xz
SHARED_LIBS= xine 34.0
SHARED_LIBS= xine 35.0
HOMEPAGE= https://www.xine-project.org/
@ -17,18 +16,19 @@ MAINTAINER= Brad Smith <brad@comstyle.com>
# GPLv2
PERMIT_PACKAGE= Yes
WANTLIB += ${COMPILER_LIBCXX} FLAC GL GLU ICE SDL SM X11 X11-xcb
WANTLIB += Xau Xdamage Xdmcp Xext Xfixes Xinerama Xv XvMCW Xxf86vm
WANTLIB += avcodec avformat avutil bluray bz2 c cdio crypto drm
WANTLIB += dvdnav dvdread execinfo expat fontconfig freetype glapi
WANTLIB += gsm iconv intl iso9660 jpeg lcms lzma m mng modplug
WANTLIB += mp3lame mpcdec ogg opus postproc sndio
WANTLIB += speex ssl swresample theora usbhid v4l2 v4lconvert
WANTLIB += vcdinfo vorbis vorbisenc vpx x264 x265 xcb xcb-dri2
WANTLIB += xcb-glx xcb-shape xcb-shm xcb-xv xdg-basedir xml2 xvidcore
WANTLIB += z
WANTLIB += ${COMPILER_LIBCXX} EGL FLAC GL GLU ICE SDL SM X11 X11-xcb
WANTLIB += Xau Xdamage Xdmcp Xext Xfixes Xinerama Xv XvMCW Xxf86vm aom
WANTLIB += avcodec avformat avutil bluray bz2 c cdio crypto dav1d drm
WANTLIB += dvdnav dvdread execinfo expat fontconfig freetype gbm
WANTLIB += glapi gsm iconv intl iso9660 jpeg lcms lzma m mng modplug
WANTLIB += mp3lame mpcdec nfs ogg opus png postproc sndio speex
WANTLIB += ssl swresample theora theoradec theoraenc usbhid v4l2
WANTLIB += v4lconvert vcdinfo vorbis vorbisenc vpx x264 x265 xcb
WANTLIB += xcb-dri2 xcb-dri3 xcb-glx xcb-present xcb-shape xcb-shm
WANTLIB += xcb-sync xcb-xfixes xcb-xv xdg-basedir xml2 xshmfence
WANTLIB += xvidcore z
XINEAPI_REV= 2.7
XINEAPI_REV= 2.8
SUBST_VARS+= XINEAPI_REV
COMPILER= base-clang ports-gcc
@ -44,10 +44,12 @@ LIB_DEPENDS= audio/flac \
audio/speex \
converters/libiconv \
devel/gettext,-runtime \
devel/libnfs \
devel/sdl \
graphics/ffmpeg \
graphics/jpeg \
graphics/libmng \
graphics/png \
graphics/vcdimager \
multimedia/libbluray>=0.8.0 \
multimedia/libdvdnav \
@ -69,31 +71,27 @@ CONFIGURE_ARGS+=--disable-a52dec \
--disable-faad \
--disable-gdkpixbuf \
--disable-gnomevfs \
--disable-libmpeg2 \
--disable-mad \
--disable-optimizations \
--disable-real-codecs \
--disable-samba \
--disable-sftp \
--disable-vpx \
--disable-w32dll \
--disable-wayland \
--with-external-dvdnav \
--with-fontconfig \
--with-freetype \
--without-caca \
--without-dav1d \
--without-esound \
--without-imagemagick
--without-imagemagick \
--without-libaom
CONFIGURE_ENV= CPPFLAGS="-I${X11BASE}/include -I${LOCALBASE}/include" \
LDFLAGS="-L${X11BASE}/lib -L${LOCALBASE}/lib" \
ac_cv_header_execinfo_h=no
.if ${MACHINE_ARCH:Maarch64}
# The configure script runs `cc -print-prog-name=as'
# if an AS env var isn't set, then tries to find that program.
# Since there is no /usr/bin/as on arm64, this causes configure
# to bail out and nothing gets built.
# Let's just lie if we're on arm64.
CONFIGURE_ENV+= AS="${CC}"
.endif
NO_TEST= Yes
pre-configure:

View File

@ -1,2 +1,2 @@
SHA256 (xine-lib-1.2.9.tar.xz) = MrNOgEn+t2LXWlUdXSzbVsOW/dg+Nbm33l/QjkmOlI0=
SIZE (xine-lib-1.2.9.tar.xz) = 5180452
SHA256 (xine-lib-1.2.10.tar.xz) = nLPwadPB/7dFbqkak2qFu7B6wqt74enQ0slP/kEQ3Fc=
SIZE (xine-lib-1.2.10.tar.xz) = 5226116

View File

@ -1,8 +1,9 @@
$OpenBSD: patch-configure_ac,v 1.21 2018/02/10 15:29:24 ajacoutot Exp $
$OpenBSD: patch-configure_ac,v 1.22 2019/12/25 15:50:45 ajacoutot Exp $
Index: configure.ac
--- configure.ac.orig
+++ configure.ac
@@ -871,9 +871,7 @@ AC_ARG_ENABLE([optimizations],
@@ -891,9 +891,7 @@ AC_ARG_ENABLE([optimizations],
[AS_HELP_STRING([--disable-optimizations], [Don't try to guess what optimization to enable])],
[], [test x"$enable_debug" != x"no" && enable_optimizations="no"])
AM_CONDITIONAL([DISABLE_OPTIMIZATIONS], [test x"$enable_optimizations" = x"no"])
@ -13,16 +14,16 @@ Index: configure.ac
dnl For multi-pass compilation: never when cross-compiling
if test x"$cross_compiling" != x"yes"; then
if test x"$GCC" = x"yes"; then
@@ -894,7 +892,7 @@ AC_SUBST(O0_CFLAGS)
@@ -914,7 +912,7 @@ AC_SUBST(O0_CFLAGS)
AC_SUBST(PASS1_CFLAGS)
AC_SUBST(PASS2_CFLAGS)
-test x"$DEFAULT_OCFLAGS" = x"" && DEFAULT_OCFLAGS="O3_CFLAGS"
+test x"$DEFAULT_OCFLAGS" = x"" && DEFAULT_OCFLAGS=""
dnl -ffast-math fails in broken build environments due to missing stuff like _foo_pow_finite ().
dnl We dont want to kill that feature generally either because stuff like faad will benefit a
@@ -1125,9 +1123,9 @@ t q
dnl xineutils.h:dlist_*
@@ -1297,9 +1295,9 @@ t q
b
:q
q"

View File

@ -1,18 +0,0 @@
$OpenBSD: patch-include_config_h,v 1.1 2018/02/16 14:27:53 sthen Exp $
Index: include/config.h
--- include/config.h.orig
+++ include/config.h
@@ -24,9 +24,11 @@
/* Ugly build time sanity guard.
* ./configure might mistake X32 mode as plain 64bit,
* but compiler itself sets __ILP32__ when in x32.
+ * Even worse: clang sets this in 32 mode as well,
+ * so also test __i386__ here.
*/
#ifdef ARCH_X86
-# if defined(__ILP32__) && !defined(ARCH_X86_X32)
+# if defined(__ILP32__) && !defined(__i386) && !defined(__i386__) && !defined(ARCH_X86_X32)
# ifdef ARCH_WARN
# warning "configure did not detect ARCH_X86_X32!"
# endif

View File

@ -0,0 +1,15 @@
$OpenBSD: patch-include_xine_buffer_h,v 1.3 2019/12/25 15:50:45 ajacoutot Exp $
Include pthread.h (BSD fix).
Index: include/xine/buffer.h
--- include/xine/buffer.h.orig
+++ include/xine/buffer.h
@@ -37,6 +37,7 @@ extern "C" {
#include <string.h> /* memcmp */
#include <sys/types.h> /* pthread_* */
+#include <pthread.h>
#include <xine/os_types.h>
#include <xine/attributes.h>

View File

@ -0,0 +1,29 @@
$OpenBSD: patch-include_xine_xineutils_h,v 1.1 2019/12/25 15:50:45 ajacoutot Exp $
(Attempt to) fix clang build.
Index: include/xine/xineutils.h
--- include/xine/xineutils.h.orig
+++ include/xine/xineutils.h
@@ -206,12 +206,21 @@ extern void *(* xine_fast_memcpy)(void *to, const void
static inline void *xine_small_memcpy (void *to, const void *from, size_t len) {
void *t2 = to;
size_t l2 = len;
+# if !defined(__clang__)
__asm__ __volatile__ (
"cld\n\trep movsb"
: "=S" (from), "=D" (t2), "=c" (l2), "=m" (*(struct {char foo[len];} *)to)
: "0" (from), "1" (t2), "2" (l2)
: "cc"
);
+# else /* clang dislikes virtual variable size struct */
+ __asm__ __volatile__ (
+ "cld\n\trep movsb"
+ : "=S" (from), "=D" (t2), "=c" (l2)
+ : "0" (from), "1" (t2), "2" (l2)
+ : "cc", "memory"
+ );
+# endif
(void)from;
(void)t2;
(void)l2;

View File

@ -1,8 +1,11 @@
$OpenBSD: patch-m4_decoders_m4,v 1.5 2018/02/10 15:29:24 ajacoutot Exp $
$OpenBSD: patch-m4_decoders_m4,v 1.6 2019/12/25 15:50:45 ajacoutot Exp $
- Fix some --with[out]-*.
Index: m4/decoders.m4
--- m4/decoders.m4.orig
+++ m4/decoders.m4
@@ -377,7 +377,7 @@ AC_DEFUN([XINE_DECODER_PLUGINS], [
@@ -461,7 +461,7 @@ a52_init ();
[AC_CHECK_HEADERS([mpc/mpcdec.h], [have_external_libmpcdec=yes], [have_external_libmpcdec=no])],
[AC_CHECK_LIB([mpcdec], [mpc_decoder_decode],
[AC_CHECK_HEADERS([mpcdec/mpcdec.h], [have_external_libmpcdec=yes], [have_external_libmpcdec=no])],
@ -11,3 +14,175 @@ Index: m4/decoders.m4
if test x"$have_external_libmpcdec" != x"yes"; then
AC_MSG_RESULT([*** no usable version of libmpcdec found, using internal copy ***])
else
@@ -538,48 +538,42 @@ a52_init ();
dnl Ogg/Speex (optional; enabled by default; external)
- AC_ARG_WITH([speex],
- [AS_HELP_STRING([--with-speex], [Enable Speex audio decoder support (default: enabled)])],
- [test x"$withval" != x"no" && with_speex="yes"])
+ AC_ARG_WITH([speex], [AS_HELP_STRING([--with-speex], [Enable Speex audio decoder support (default: enabled)])],
+ [], [with_speex="try"])
if test x"$with_speex" != x"no"; then
- PKG_CHECK_MODULES([SPEEX], [ogg speex], [have_speex=yes], [have_speex=no])
- if test x"$with_speex" = x"yes" && test x"$have_speex" != x"yes"; then
+ PKG_CHECK_MODULES([SPEEX], [ogg speex], [with_speex=yes], [test x"$with_speex" = x"yes" && with_speex=fail])
+ if test x"$with_speex" = x"fail" ; then
AC_MSG_ERROR([Speex support requested, but libspeex and/or libogg not found])
- elif test x"$have_speex" = x"yes"; then
- AC_DEFINE([HAVE_SPEEX], 1, [Define this if you have speex])
fi
fi
- AM_CONDITIONAL([ENABLE_SPEEX], [test x"$have_speex" = x"yes"])
+ test x"$with_speex" = x"yes" && AC_DEFINE([HAVE_SPEEX], 1, [Define this if you have speex])
+ AM_CONDITIONAL([ENABLE_SPEEX], [test x"$with_speex" = x"yes"])
dnl Ogg/Theora (optional; enabled by default; external)
- AC_ARG_WITH([theora],
- [AS_HELP_STRING([--with-theora], [Enable Theora video decoder support (default: enabled)])],
- [test x"$withval" != x"no" && with_theora="yes"])
+ AC_ARG_WITH([theora], [AS_HELP_STRING([--with-theora], [Enable Theora video decoder support (default: enabled)])],
+ [], [with_theora="try"])
if test x"$with_theora" != x"no"; then
- PKG_CHECK_MODULES([THEORA], [ogg theora], [have_theora=yes], [have_theora=no])
- if test x"$with_theora" = x"yes" && test x"$have_theora" = x"no"; then
+ PKG_CHECK_MODULES([THEORA], [ogg theora], [with_theora=yes], [test x"$with_theora" = x"yes" && with_theora=fail])
+ if test x"$with_theora" = x"fail" ; then
AC_MSG_ERROR([Theora support requested, but libtheora and/or libogg not found])
- elif test x"$have_theora" = x"yes"; then
- AC_DEFINE([HAVE_THEORA], 1, [Define this if you have theora])
fi
fi
- AM_CONDITIONAL([ENABLE_THEORA], [test x"$have_theora" = x"yes"])
+ test x"$with_theora" = x"yes" && AC_DEFINE([HAVE_THEORA], 1, [Define this if you have theora])
+ AM_CONDITIONAL([ENABLE_THEORA], [test x"$with_theora" = x"yes"])
dnl Ogg/Vorbis (optional; enabled by default; external)
- AC_ARG_WITH([vorbis],
- [AS_HELP_STRING([--with-vorbis], [Enable Vorbis audio decoder support (default: enabled)])],
- [test x"$withval" != x"no" && with_vorbis="yes"])
- if test x"$with_vorbis" != x"no"; then
- PKG_CHECK_MODULES([VORBIS], [ogg vorbis], [have_vorbis=yes], [have_vorbis=no])
- if test x"$with_vorbis" = x"yes" && test x"$have_vorbis" = "xno"; then
+ AC_ARG_WITH([vorbis], [AS_HELP_STRING([--with-vorbis], [Enable Vorbis audio decoder support (default: enabled)])],
+ [], [with_vorbis="try"])
+ if test x"$with_vorbis" != x"no" ; then
+ PKG_CHECK_MODULES([VORBIS], [ogg vorbis], [with_vorbis=yes], [test x"$with_vorbis" = x"yes" && with_vorbis=fail])
+ if test x"$with_vorbis" = x"fail" ; then
AC_MSG_ERROR([Vorbis support requested, but libvorbis and/or libogg not found])
- elif test x"$have_vorbis" = x"yes"; then
- AC_DEFINE([HAVE_VORBIS], 1, [Define this if you have vorbis])
fi
fi
- AM_CONDITIONAL([ENABLE_VORBIS], [test x"$have_vorbis" = x"yes"])
+ test x"$with_vorbis" = x"yes" && AC_DEFINE([HAVE_VORBIS], 1, [Define this if you have vorbis])
+ AM_CONDITIONAL([ENABLE_VORBIS], [test x"$with_vorbis" = x"yes"])
dnl real (optional; enabled by default)
@@ -640,18 +634,16 @@ a52_init ();
AC_SUBST(w32_path)
AM_CONDITIONAL([ENABLE_W32DLL], [test x"$have_w32dll" = x"yes"])
-
dnl wavpack (optional; disabled by default)
- AC_ARG_WITH([wavpack],
- [AS_HELP_STRING([--with-wavpack], [Enable Wavpack decoder (requires libwavpack)])],
- [test x"$withval" != x"no" && with_wavpack="yes"], [with_wavpack="no"])
- if test x"$with_wavpack" != x"no"; then
- PKG_CHECK_MODULES([WAVPACK], [wavpack], [have_wavpack=yes], [have_wavpack=no])
- if test x"$with_wavpack" = x"yes" && test x"$have_wavpack" != x"yes"; then
+ AC_ARG_WITH([wavpack], [AS_HELP_STRING([--with-wavpack], [Enable Wavpack decoder (requires libwavpack)])],
+ [], [with_wavpack="no"])
+ if test x"$with_wavpack" = x"yes"; then
+ PKG_CHECK_MODULES([WAVPACK], [wavpack], [], [with_wavpack=fail])
+ if test x"$with_wavpack" = x"fail" ; then
AC_MSG_ERROR([Wavpack decoder support requested, but libwavpack not found])
fi
fi
- AM_CONDITIONAL([ENABLE_WAVPACK], [test x"$have_wavpack" = x"yes"])
+ AM_CONDITIONAL([ENABLE_WAVPACK], [test x"$with_wavpack" = x"yes"])
dnl libvpx decoder plugin
AC_ARG_ENABLE([vpx],
@@ -669,50 +661,48 @@ a52_init ();
AM_CONDITIONAL([ENABLE_VPX], [test x"$have_vpx" = x"yes"])
dnl libOpenHevc decoder plugin
- AC_ARG_WITH([openhevc],
- [AS_HELP_STRING([--with-openhevc], [Enable libOpenHevc HEVC decoder support (default: enabled)])],
- [test x"$enableval" != x"no" && enable_openhevc="yes"])
- if test x"$enable_openhevc" != x"no"; then
-
- AC_CHECK_LIB([LibOpenHevcWrapper], [libOpenHevcInit], [have_openhevc=yes], [have_openhevc=no])
- if test x"$enable_openhevc" = x"yes" && test x"$have_openhevc" != x"yes"; then
- AC_MSG_ERROR([Cannot find LibOpenHevcWrapper])
+ AC_ARG_WITH([openhevc], [AS_HELP_STRING([--with-openhevc], [Enable libOpenHevc HEVC decoder support (default: enabled)])],
+ [], [with_openhevc="try"])
+ if test x"$with_openhevc" != x"no"; then
+ AC_CHECK_LIB([LibOpenHevcWrapper], [libOpenHevcInit], [], [test x"$with_openhevc" = x"yes" && with_openhevc=fail])
+ if test x"$with_openhevc" = x"fail" ; then
+ AC_MSG_ERROR([openhevc support requested, but LibOpenHevcWrapper not found])
else
- AC_CHECK_HEADERS([openHevcWrapper.h], [have_openhevc=yes], [have_openhevc=no])
- if test x"$enable_openhevc" = x"yes" && test x"$have_openhevc" != x"yes"; then
- AC_MSG_ERROR([Cannot find openHevcWrapper.h])
+ AC_CHECK_HEADERS([openHevcWrapper.h], [with_openhevc=yes], [test x"$with_openhevc" = x"yes" && with_openhevc=fail])
+ if test x"$with_openhevc" = x"fail" ; then
+ AC_MSG_ERROR([openhevc support requested, but openHevcWrapper.h not found])
fi
- OPENHEVC_CFLAGS=''
- OPENHEVC_LIBS='-lLibOpenHevcWrapper'
- AC_SUBST(OPENHEVC_CFLAGS)
- AC_SUBST(OPENHEVC_LIBS)
fi
fi
- AM_CONDITIONAL([ENABLE_OPENHEVC], [test x"$have_openhevc" = x"yes"])
+ if test x"$with_openhevc" = x"yes" ; then
+ OPENHEVC_CFLAGS=''
+ OPENHEVC_LIBS='-lLibOpenHevcWrapper'
+ AC_SUBST(OPENHEVC_CFLAGS)
+ AC_SUBST(OPENHEVC_LIBS)
+ fi
+ AM_CONDITIONAL([ENABLE_OPENHEVC], [test x"$with_openhevc" = x"yes"])
dnl libaom AV1 decoder plugin
- AC_ARG_WITH([libaom],
- [AS_HELP_STRING([--with-libaom], [Enable libaom AV1 decoder support (default: enabled)])],
- [test x"$enableval" != x"no" && enable_libaom="yes"])
- if test x"$enable_libaom" != x"no"; then
- PKG_CHECK_MODULES([AOM], [aom >= 1.0] , [have_libaom=yes], [have_libaom=no])
- if test x"$enable_libaom" = x"yes" && test x"$have_libaom" != x"yes"; then
+ AC_ARG_WITH([libaom], [AS_HELP_STRING([--with-libaom], [Enable libaom AV1 decoder support (default: enabled)])],
+ [], [with_libaom="try"])
+ if test x"$with_libaom" != x"no"; then
+ PKG_CHECK_MODULES([AOM], [aom >= 1.0] , [with_libaom=yes], [test x"$with_libaom" = x"yes" && with_libaom=fail])
+ if test x"$with_libaom" = x"fail" ; then
AC_MSG_ERROR([libaom AV1 support requested, but libaom not found])
fi
fi
- AM_CONDITIONAL([ENABLE_LIBAOM], [test x"$have_libaom" = x"yes"])
+ AM_CONDITIONAL([ENABLE_LIBAOM], [test x"$with_libaom" = x"yes"])
dnl dav1d AV1 decoder plugin
- AC_ARG_WITH([dav1d],
- [AS_HELP_STRING([--with-dav1d], [Enable dav1d AV1 decoder support (default: enabled)])],
- [test x"$enableval" != x"no" && enable_dav1d="yes"])
- if test x"$enable_dav1d" != x"no"; then
- PKG_CHECK_MODULES([DAV1D], [dav1d >= 0.3.1] , [have_dav1d=yes], [have_dav1d=no])
- if test x"$enable_dav1d" = x"yes" && test x"$have_dav1d" != x"yes"; then
+ AC_ARG_WITH([dav1d], [AS_HELP_STRING([--with-dav1d], [Enable dav1d AV1 decoder support (default: enabled)])],
+ [], [with_dav1d=try])
+ if test x"$with_dav1d" != x"no"; then
+ PKG_CHECK_MODULES([DAV1D], [dav1d >= 0.3.1] , [with_dav1d=yes], [test x"$with_dav1d" = x"yes" && with_dav1d=fail])
+ if test x"$with_dav1d" = x"fail" ; then
AC_MSG_ERROR([dav1d AV1 support requested, but dav1d not found])
fi
fi
- AM_CONDITIONAL([ENABLE_DAV1D], [test x"$have_dav1d" = x"yes"])
+ AM_CONDITIONAL([ENABLE_DAV1D], [test x"$with_dav1d" = x"yes"])
dnl Broadcom MMAL (Multi Media Abstraction Layer) decoder plugin for RPi
AC_ARG_ENABLE([mmal],

View File

@ -1,15 +1,26 @@
$OpenBSD: patch-m4_input_m4,v 1.2 2018/02/10 15:29:24 ajacoutot Exp $
$OpenBSD: patch-m4_input_m4,v 1.3 2019/12/25 15:50:45 ajacoutot Exp $
Enable libv4l on OpenBSD.
- Enable libv4l on OpenBSD.
- Don't pick up GnuTLS over OpenSSL.
Index: m4/input.m4
--- m4/input.m4.orig
+++ m4/input.m4
@@ -37,6 +37,7 @@ AC_DEFUN([XINE_INPUT_PLUGINS], [
@@ -42,6 +42,7 @@ AC_DEFUN([XINE_INPUT_PLUGINS], [
;;
netbsd* | openbsd*)
default_enable_v4l2=yes
+ default_enable_libv4l=yes
;;
linux*)
default_enable_dvb=yes
linux-android*)
default_enable_gnomevfs=no
@@ -256,8 +257,7 @@ AC_DEFUN([XINE_INPUT_PLUGINS], [
dnl TLS support (ftps, https)
XINE_ARG_ENABLE([tls], [Enable TLS support using gnutls (enables secure http (https) and ftp (ftps)])
if test "x$enable_tls" != "xno"; then
- PKG_CHECK_MODULES([GNUTLS], [gnutls >= 2.8.6], [have_gnutls=yes], [have_gnutls=no])
- PKG_CHECK_MODULES([OPENSSL], [openssl >= 1.0.2], [have_openssl=yes], [have_openssl=no])
+ PKG_CHECK_MODULES([OPENSSL], [openssl >= 1.0.0], [have_openssl=yes], [have_openssl=no])
if test x"$have_gnutls" = x"yes" || test x"$have_openssl" = x"yes"; then
have_tls=yes
elif test x"$hard_enable_tls" = x"yes"; then

View File

@ -0,0 +1,13 @@
$OpenBSD: patch-src_demuxers_demux_ts_c,v 1.7 2019/12/25 15:50:45 ajacoutot Exp $
Index: src/demuxers/demux_ts.c
--- src/demuxers/demux_ts.c.orig
+++ src/demuxers/demux_ts.c
@@ -3238,7 +3238,6 @@ static demux_plugin_t *open_plugin (demux_class_t *cla
this->bpts = 0;
this->last_pts[0] = 0;
this->last_pts[1] = 0;
- this->newpts_fifo = NULL;
# if TS_PACKET_READER == 2
this->buf_pos = 0;
this->buf_size = 0;

View File

@ -0,0 +1,17 @@
$OpenBSD: patch-src_input_http_helper_c,v 1.1 2019/12/25 15:50:45 ajacoutot Exp $
network: fix BSD.
Index: src/input/http_helper.c
--- src/input/http_helper.c.orig
+++ src/input/http_helper.c
@@ -24,7 +24,9 @@
#include "config.h"
#endif
+#ifdef HAVE_MALLOC_H
#include <malloc.h>
+#endif
#include <string.h>
#include <stdint.h>

View File

@ -0,0 +1,25 @@
$OpenBSD: patch-src_input_input_cdda_c,v 1.9 2019/12/25 15:50:45 ajacoutot Exp $
cdda: fix BSD.
Index: src/input/input_cdda.c
--- src/input/input_cdda.c.orig
+++ src/input/input_cdda.c
@@ -782,7 +782,7 @@ static cdrom_toc_t *read_cdrom_toc (int fd) {
/* allocate space for the toc entries */
toc = calloc (1, sizeof (cdrom_toc_t) + total_tracks * sizeof (cdrom_toc_entry_t));
- if (!toc->toc_entries) {
+ if (!toc) {
perror("calloc");
return NULL;
}
@@ -874,7 +874,7 @@ static cdrom_toc_t *read_cdrom_toc (int fd) {
toc->toc_entries[i].track_mode = (tocentry.data->control & 0x04) ? 1 : 0;
toc->toc_entries[i].first_frame_minute = tocentry.data->addr.msf.minute;
toc->toc_entries[i].first_frame_second = tocentry.data->addr.msf.second;
- toc->toc_entries[i]..first_frame_frame = tocentry.data->addr.msf.frame;
+ toc->toc_entries[i].first_frame_frame = tocentry.data->addr.msf.frame;
toc->toc_entries[i].first_frame =
(tocentry.data->addr.msf.minute * CD_SECONDS_PER_MINUTE * CD_FRAMES_PER_SECOND) +
(tocentry.data->addr.msf.second * CD_FRAMES_PER_SECOND) +

View File

@ -0,0 +1,17 @@
$OpenBSD: patch-src_input_input_http_c,v 1.10 2019/12/25 15:50:45 ajacoutot Exp $
network: fix BSD.
Index: src/input/input_http.c
--- src/input/input_http.c.orig
+++ src/input/input_http.c
@@ -30,6 +30,9 @@
#ifdef HAVE_NETDB_H
#include <netdb.h>
#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
#include <ctype.h>
#include <errno.h>
#include <zlib.h>

View File

@ -0,0 +1,23 @@
$OpenBSD: patch-src_post_Makefile_in,v 1.1 2019/12/25 15:50:45 ajacoutot Exp $
Index: src/post/Makefile.in
--- src/post/Makefile.in.orig
+++ src/post/Makefile.in
@@ -889,7 +889,7 @@ libdeinterlaceplugins_O1_la_SOURCES = \
$(debug_sources)
libdeinterlaceplugins_O1_la_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_srcdir)/src/post/deinterlace
-libdeinterlaceplugins_O1_la_CFLAGS = $(O1_CFLAGS) $(VISIBILITY_FLAG)
+libdeinterlaceplugins_O1_la_CFLAGS = $(DEFAULT_OCFLAGS) $(VISIBILITY_FLAG)
libdeinterlaceplugins_O1_la_LDFLAGS =
libdeinterlaceplugins_la_SOURCES = \
deinterlace/plugins/double.c \
@@ -934,7 +934,7 @@ xineplug_post_tvtime_la_LDFLAGS = $(AM_LDFLAGS) $(IMPU
@ENABLE_POSTPROC_TRUE@pp_module_cflags = $(FFMPEG_CFLAGS) $(POSTPROC_CFLAGS)
@ARCH_X86_TRUE@PLANAR_X86_LIB = libpost_planar_x86.la
@ARCH_X86_TRUE@libpost_planar_x86_la_SOURCES = planar/x86/noise.c planar/x86/noise.h
-@ARCH_X86_TRUE@libpost_planar_x86_la_CFLAGS = $(O1_CFLAGS) -fomit-frame-pointer $(VISIBILITY_FLAG)
+@ARCH_X86_TRUE@libpost_planar_x86_la_CFLAGS = $(DEFAULT_OCFLAGS) -fomit-frame-pointer $(VISIBILITY_FLAG)
@ARCH_X86_TRUE@libpost_planar_x86_la_LDFLAGS =
#

View File

@ -1,13 +0,0 @@
$OpenBSD: patch-src_post_deinterlace_plugins_Makefile_in,v 1.18 2018/02/10 15:29:24 ajacoutot Exp $
Index: src/post/deinterlace/plugins/Makefile.in
--- src/post/deinterlace/plugins/Makefile.in.orig
+++ src/post/deinterlace/plugins/Makefile.in
@@ -618,7 +618,7 @@ noinst_HEADERS = plugins.h greedyhmacros.h
# doesn't run out of general registers trying to compile it.
noinst_LTLIBRARIES = libdeinterlacepluginsO1.la libdeinterlaceplugins.la
libdeinterlacepluginsO1_la_SOURCES = kdetv_greedyh.c $(debug_sources)
-libdeinterlacepluginsO1_la_CFLAGS = $(O1_CFLAGS) $(AM_CFLAGS)
+libdeinterlacepluginsO1_la_CFLAGS = $(DEFAULT_OCFLAGS) $(AM_CFLAGS)
libdeinterlaceplugins_la_SOURCES = double.c greedy.c linear.c linearblend.c \
vfir.c weave.c scalerbob.c kdetv_tomsmocomp.c \
$(nodebug_sources)

View File

@ -0,0 +1,40 @@
$OpenBSD: patch-src_vdr_input_vdr_c,v 1.1 2019/12/25 15:50:45 ajacoutot Exp $
Fix pointer alignment.
Index: src/vdr/input_vdr.c
--- src/vdr/input_vdr.c.orig
+++ src/vdr/input_vdr.c
@@ -1319,7 +1319,7 @@ break;
READ_DATA_OR_FAIL(video_size, lprintf("got VIDEO SIZE\n"));
{
- int format;
+ int format, width, height, ratio;
result_video_size_t result_video_size;
result_video_size.header.func = data->header.func;
@@ -1331,15 +1331,18 @@ break;
result_video_size.height = -1;
result_video_size.ratio = 0;
- xine_get_current_frame_s(this->stream, &result_video_size.width, &result_video_size.height, &result_video_size.ratio, &format, NULL, NULL);
+ xine_get_current_frame_s(this->stream, &width, &height, &ratio, &format, NULL, NULL);
+ result_video_size.width = width;
+ result_video_size.height = height;
+ result_video_size.ratio = ratio;
- if (result_video_size.ratio == XINE_VO_ASPECT_SQUARE)
+ if (ratio == XINE_VO_ASPECT_SQUARE)
result_video_size.ratio = 10000;
- else if (result_video_size.ratio == XINE_VO_ASPECT_4_3)
+ else if (ratio == XINE_VO_ASPECT_4_3)
result_video_size.ratio = 13333;
- else if (result_video_size.ratio == XINE_VO_ASPECT_ANAMORPHIC)
+ else if (ratio == XINE_VO_ASPECT_ANAMORPHIC)
result_video_size.ratio = 17778;
- else if (result_video_size.ratio == XINE_VO_ASPECT_DVB)
+ else if (ratio == XINE_VO_ASPECT_DVB)
result_video_size.ratio = 21100;
if (0 != this->frame_size.x

View File

@ -0,0 +1,24 @@
$OpenBSD: patch-src_xine-engine_builtins_h,v 1.1 2019/12/25 15:50:45 ajacoutot Exp $
Simplify.
Index: src/xine-engine/builtins.h
--- src/xine-engine/builtins.h.orig
+++ src/xine-engine/builtins.h
@@ -23,16 +23,8 @@
#ifndef XINE_ENGINE_BUILTINS_H
#define XINE_ENGINE_BUILTINS_H
-#if defined(HAVE_CONFIG_H) && !defined(__XINE_LIB_CONFIG_H__)
-# error config.h not included
-#endif
-
-#ifdef XINE_MAKE_BUILTINS
-
#include <xine/xine_internal.h>
extern const plugin_info_t xine_builtin_plugin_info[];
-
-#endif
#endif

View File

@ -1,17 +0,0 @@
$OpenBSD: patch-src_xine-engine_demux_c,v 1.4 2018/02/10 15:29:24 ajacoutot Exp $
Make use of clock_gettime() on OpenBSD. Until we have per-process
timers and can enable _POSIX_TIMERS in unistd.h.
Index: src/xine-engine/demux.c
--- src/xine-engine/demux.c.orig
+++ src/xine-engine/demux.c
@@ -131,7 +131,7 @@ static struct timespec _x_compute_interval(unsigned in
ui.QuadPart += millisecs * 10000;
ts.tv_sec = ui.QuadPart / 10000000;
ts.tv_sec = (ui.QuadPart % 10000000)*100;
-#elif _POSIX_TIMERS > 0
+#elif _POSIX_TIMERS > 0 || defined(__OpenBSD__)
clock_gettime(CLOCK_REALTIME, &ts);
uint64_t ttimer = (uint64_t)ts.tv_sec*1000 + ts.tv_nsec/1000000 + millisecs;
ts.tv_sec = ttimer/1000;

View File

@ -0,0 +1,17 @@
$OpenBSD: patch-src_xine-engine_load_plugins_c,v 1.1 2019/12/25 15:50:45 ajacoutot Exp $
Simplify.
Index: src/xine-engine/load_plugins.c
--- src/xine-engine/load_plugins.c.orig
+++ src/xine-engine/load_plugins.c
@@ -71,7 +71,9 @@
#include "xine_private.h"
+#ifdef XINE_MAKE_BUILTINS
#include "builtins.h"
+#endif
#if 0

View File

@ -1,11 +1,11 @@
$OpenBSD: patch-src_xine-utils_memcpy_c,v 1.5 2018/07/01 21:10:48 sthen Exp $
$OpenBSD: patch-src_xine-utils_memcpy_c,v 1.6 2019/12/25 15:50:45 ajacoutot Exp $
Make use of clock_gettime().
Index: src/xine-utils/memcpy.c
--- src/xine-utils/memcpy.c.orig
+++ src/xine-utils/memcpy.c
@@ -597,7 +597,7 @@ static const struct {
@@ -592,7 +592,7 @@ static const struct {
static uint64_t memcpy_timing[sizeof(memcpy_method)/sizeof(memcpy_method[0])] = { 0, };

View File

@ -0,0 +1,16 @@
$OpenBSD: patch-src_xine-utils_xmlparser_c,v 1.1 2019/12/25 15:50:45 ajacoutot Exp $
Avoid NULL string argument for printf().
Index: src/xine-utils/xmlparser.c
--- src/xine-utils/xmlparser.c.orig
+++ src/xine-utils/xmlparser.c
@@ -145,7 +145,7 @@ static void xml_parser_free_props(xml_property_t *curr
}
static void xml_parser_free_tree_rec(xml_node_t *current_node, int free_next) {
- lprintf("xml_parser_free_tree_rec: %s\n", current_node ? current_node->name : NULL);
+ lprintf("xml_parser_free_tree_rec: %s\n", current_node ? current_node->name : "(null)");
if (current_node) {
/* properties */

View File

@ -1,4 +1,4 @@
@comment $OpenBSD: PLIST,v 1.26 2018/02/10 15:29:24 ajacoutot Exp $
@comment $OpenBSD: PLIST,v 1.27 2019/12/25 15:50:45 ajacoutot Exp $
@conflict xine-lib-arts-*
@conflict xine-lib-esd-*
@conflict xine-lib-jack-*
@ -37,6 +37,7 @@ include/xine/scratch.h
include/xine/sorted_array.h
include/xine/spu.h
include/xine/spu_decoder.h
include/xine/tickets.h
include/xine/vdr.h
include/xine/version.h
include/xine/video_decoder.h
@ -45,13 +46,14 @@ include/xine/video_overlay.h
include/xine/vo_scale.h
include/xine/xine_buffer.h
include/xine/xine_internal.h
include/xine/xine_module.h
include/xine/xine_plugin.h
include/xine/xineintl.h
include/xine/xineutils.h
include/xine/xmllexer.h
include/xine/xmlparser.h
lib/libxine-interface.la
lib/libxine.a
@static-lib lib/libxine.a
lib/libxine.la
@lib lib/libxine.so.${LIBxine_VERSION}
lib/pkgconfig/libxine.pc
@ -60,62 +62,67 @@ lib/xine/plugins/
lib/xine/plugins/${XINEAPI_REV}/
lib/xine/plugins/${XINEAPI_REV}/mime.types
lib/xine/plugins/${XINEAPI_REV}/post/
lib/xine/plugins/${XINEAPI_REV}/post/xineplug_post_audio_filters.so
lib/xine/plugins/${XINEAPI_REV}/post/xineplug_post_goom.so
lib/xine/plugins/${XINEAPI_REV}/post/xineplug_post_mosaico.so
lib/xine/plugins/${XINEAPI_REV}/post/xineplug_post_planar.so
lib/xine/plugins/${XINEAPI_REV}/post/xineplug_post_switch.so
lib/xine/plugins/${XINEAPI_REV}/post/xineplug_post_tvtime.so
lib/xine/plugins/${XINEAPI_REV}/post/xineplug_post_visualizations.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_ao_out_sndio.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_decode_dvaudio.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_decode_ff.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_decode_gsm610.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_decode_libjpeg.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_decode_lpcm.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_decode_mpc.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_decode_mpeg2.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_decode_rawvideo.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_decode_spu.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_decode_spucc.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_decode_spucmml.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_decode_spudvb.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_decode_spuhdmv.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_dmx_asf.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_dmx_audio.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_dmx_fli.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_dmx_games.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_dmx_mng.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_dmx_modplug.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_dmx_nsv.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_dmx_playlist.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_dmx_pva.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_dmx_slave.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_dmx_video.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_flac.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_inp_bluray.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_inp_cdda.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_inp_dvd.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_inp_mms.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_inp_network.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_inp_pvr.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_inp_rtp.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_inp_v4l2.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_inp_vcd.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_nsf.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_sputext.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_vdr.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_out_opengl.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_out_opengl2.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_out_raw.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_out_sdl.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_out_xcbshm.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_out_xcbxv.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_out_xshm.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_out_xv.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_out_xvmc.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_out_xxmc.so
lib/xine/plugins/${XINEAPI_REV}/xineplug_xiph.so
@so lib/xine/plugins/${XINEAPI_REV}/post/xineplug_post_audio_filters.so
@so lib/xine/plugins/${XINEAPI_REV}/post/xineplug_post_goom.so
@so lib/xine/plugins/${XINEAPI_REV}/post/xineplug_post_mosaico.so
@so lib/xine/plugins/${XINEAPI_REV}/post/xineplug_post_planar.so
@so lib/xine/plugins/${XINEAPI_REV}/post/xineplug_post_switch.so
@so lib/xine/plugins/${XINEAPI_REV}/post/xineplug_post_tvtime.so
@so lib/xine/plugins/${XINEAPI_REV}/post/xineplug_post_visualizations.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_ao_out_sndio.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_decode_dvaudio.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_decode_ff.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_decode_gsm610.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_decode_libjpeg.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_decode_libpng.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_decode_lpcm.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_decode_mpc.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_decode_rawvideo.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_decode_spu.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_decode_spucc.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_decode_spucmml.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_decode_spudvb.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_decode_spuhdmv.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_dmx_asf.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_dmx_audio.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_dmx_fli.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_dmx_games.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_dmx_image.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_dmx_mng.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_dmx_modplug.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_dmx_nsv.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_dmx_playlist.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_dmx_pva.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_dmx_slave.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_dmx_video.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_flac.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_inp_bluray.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_inp_cdda.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_inp_dvd.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_inp_mms.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_inp_network.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_inp_nfs.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_inp_pvr.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_inp_rtp.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_inp_v4l2.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_inp_vcd.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_nsf.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_sputext.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_tls_openssl.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_vdr.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_gl_egl_x11.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_gl_glx.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_out_opengl.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_out_opengl2.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_out_raw.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_out_sdl.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_out_xcbshm.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_out_xcbxv.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_out_xshm.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_out_xv.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_out_xvmc.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_out_xxmc.so
@so lib/xine/plugins/${XINEAPI_REV}/xineplug_xiph.so
@man man/man1/xine-config.1
@man man/man1/xine-list-1.2.1
@man man/man5/xine.5