Here is an update to MPlayer 20140106. Any and all testing welcome.
Index: Makefile =================================================================== RCS file: /home/cvs/ports/x11/mplayer/Makefile,v retrieving revision 1.230 diff -u -p -u -p -r1.230 Makefile --- Makefile 2 Jan 2014 12:21:49 -0000 1.230 +++ Makefile 7 Jan 2014 00:49:11 -0000 @@ -7,9 +7,8 @@ ONLY_FOR_ARCHS = ${GCC4_ARCHS} COMMENT = movie player supporting many formats -V = 20130819 +V = 20140106 FFMPEG_V = 20131216 -REVISION = 2 SUBST_VARS += PREFIX CONFDIR @@ -26,7 +25,7 @@ HOMEPAGE = http://www.mplayerhq.hu/ PERMIT_PACKAGE_CDROM = patents PERMIT_PACKAGE_FTP = Yes -WANTLIB = GL X11 Xext Xinerama Xss Xv Xxf86dga Xxf86vm ass avcodec \ +WANTLIB = EGL GL X11 Xext Xinerama Xss Xv Xxf86dga Xxf86vm ass avcodec \ avformat avutil bluray bz2 c cdda_interface cdda_paranoia \ crypto dv dvdnavmini dvdread enca fontconfig freetype \ fribidi jpeg m mng mp3lame ncurses ogg>=5 opus png postproc \ @@ -76,14 +75,17 @@ CONFDIR = ${SYSCONFDIR}/mplayer .if ${MACHINE_ARCH:Marm} # uses ARM EABI -MPLAYER_ARCH= generic +MPLAYER_ARCH = generic .else -MPLAYER_ARCH= ${MACHINE_ARCH} +MPLAYER_ARCH = ${MACHINE_ARCH} .endif +# Add back fast math flag since we override CFLAGS +CFLAGS += -ffast-math + # PIE doesn't leave sufficient registers .if ${MACHINE_ARCH:Mi386} -CFLAGS += -fomit-frame-pointer +CFLAGS += -fomit-frame-pointer .endif USE_GMAKE = Yes @@ -96,7 +98,7 @@ CONFIGURE_ARGS += --target="${MPLAYER_AR --confdir=${CONFDIR} \ --mandir=${LOCALBASE}/man \ --extra-cflags="-I${LOCALBASE}/include" \ - --extra-ldflags="-L${LOCALBASE}/lib" \ + --extra-ldflags="-L${LOCALBASE}/lib -ffast-math" \ --extra-libs-mplayer="-lrtunes -lcrypto" # CONFIGURE_ARGS that disable internal stuff @@ -146,7 +148,8 @@ CONFIGURE_ARGS += --disable-smb \ --disable-faac-lavc \ --disable-faad \ --disable-theora \ - --disable-pulse + --disable-pulse \ + --disable-relocatable # internal tremor, external tremor, external libvorbis all conflict # we choose libvorbis to enable encoding to vorbis @@ -212,7 +215,7 @@ EXAMPLEDIR = ${PREFIX}/share/examples/mp # copy in rtunes and sndio backends post-extract: - @cp ${FILESDIR}/ao_rtunes.c ${FILESDIR}/ao_sndio.c ${WRKSRC}/libao2 + @cp ${FILESDIR}/ao_rtunes.c ${WRKSRC}/libao2 @cp ${FILESDIR}/ai_sndio.c ${WRKSRC}/stream # link FFmpeg sources to where build expects Index: distinfo =================================================================== RCS file: /home/cvs/ports/x11/mplayer/distinfo,v retrieving revision 1.38 diff -u -p -u -p -r1.38 distinfo --- distinfo 6 Sep 2013 23:14:40 -0000 1.38 +++ distinfo 6 Jan 2014 22:20:53 -0000 @@ -1,2 +1,2 @@ -SHA256 (mplayer-20130819.tar.xz) = +sUhhiXfXp+jUAILtZqMlcHuUaQ5u7ARJd8CXwNLfCc= -SIZE (mplayer-20130819.tar.xz) = 5270956 +SHA256 (mplayer-20140106.tar.xz) = cll7+pWtmcggOIGbFRhDZ46j4lyOt6cVpXFE7KNHGys= +SIZE (mplayer-20140106.tar.xz) = 5277680 Index: files/ao_sndio.c =================================================================== RCS file: files/ao_sndio.c diff -N files/ao_sndio.c --- files/ao_sndio.c 17 Apr 2013 23:03:23 -0000 1.9 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,293 +0,0 @@ -/* - * Copyright (c) 2008 Alexandre Ratchov <a...@caoua.org> - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include <sys/types.h> -#include <poll.h> -#include <errno.h> -#include <sndio.h> - -#include "config.h" -#include "mp_msg.h" -#include "mixer.h" -#include "help_mp.h" - -#include "libaf/af_format.h" - -#include "audio_out.h" -#include "audio_out_internal.h" - -static ao_info_t info = { - "sndio audio output", - "sndio", - "Alexandre Ratchov <a...@caoua.org>", - "" -}; - -LIBAO_EXTERN(sndio) - -static struct sio_hdl *hdl = NULL; -struct pollfd *pfds; -static struct sio_par par; -static int delay, vol, havevol; -#define SILENCE_NMAX 0x1000 -static char silence[SILENCE_NMAX]; - -/* - * misc parameters (volume, etc...) - */ -static int control(int cmd, void *arg) -{ - ao_control_vol_t *ctl = arg; - - switch (cmd) { - case AOCONTROL_GET_VOLUME: - if (!havevol) - return CONTROL_FALSE; - ctl->left = ctl->right = vol * 100 / SIO_MAXVOL; - break; - case AOCONTROL_SET_VOLUME: - if (!havevol) - return CONTROL_FALSE; - sio_setvol(hdl, ctl->left * SIO_MAXVOL / 100); - break; - default: - return CONTROL_UNKNOWN; - } - return CONTROL_OK; -} - -/* - * call-back invoked to notify of the hardware position - */ -static void movecb(void *addr, int delta) -{ - delay -= delta * (int)(par.bps * par.pchan); -} - -/* - * call-back invoked to notify about volume changes - */ -static void volcb(void *addr, unsigned newvol) -{ - vol = newvol; -} - -/* - * open device and setup parameters - * return: 1 = success, 0 = failure - */ -static int init(int rate, int channels, int format, int flags) -{ - struct af_to_par { - int format, bits, sig, le; - } af_to_par[] = { - {AF_FORMAT_U8, 8, 0, 0}, - {AF_FORMAT_S8, 8, 1, 0}, - {AF_FORMAT_U16_LE, 16, 0, 1}, - {AF_FORMAT_U16_BE, 16, 0, 0}, - {AF_FORMAT_S16_LE, 16, 1, 1}, - {AF_FORMAT_S16_BE, 16, 1, 0}, - {AF_FORMAT_U24_LE, 16, 0, 1}, - {AF_FORMAT_U24_BE, 24, 0, 0}, - {AF_FORMAT_S24_LE, 24, 1, 1}, - {AF_FORMAT_S24_BE, 24, 1, 0}, - {AF_FORMAT_U32_LE, 32, 0, 1}, - {AF_FORMAT_U32_BE, 32, 0, 0}, - {AF_FORMAT_S32_LE, 32, 1, 1}, - {AF_FORMAT_S32_BE, 32, 1, 0} - }, *p; - int i, bpf, ac3 = 0; - - hdl = sio_open(NULL, SIO_PLAY, 0); - if (hdl == NULL) { - mp_msg(MSGT_AO, MSGL_ERR, "ao2: can't open sndio\n"); - return 0; - } - sio_initpar(&par); - for (i = 0, p = af_to_par;; i++, p++) { - if (i == sizeof(af_to_par) / sizeof(struct af_to_par)) { - if (format == AF_FORMAT_AC3_BE || - format == AF_FORMAT_AC3_LE) - ac3 = 1; - mp_msg(MSGT_AO, MSGL_V, "ao2: unsupported format\n"); - par.bits = 16; - par.sig = 1; - par.le = SIO_LE_NATIVE; - break; - } - if (p->format == format) { - par.bits = p->bits; - par.sig = p->sig; - if (p->bits > 8) - par.le = p->le; - if (p->bits != SIO_BPS(p->bits)) - par.bps = p->bits / 8; - break; - } - } - par.rate = rate; - par.pchan = channels; - par.appbufsz = par.rate * 250 / 1000; /* 250ms buffer */ - par.round = par.rate * 10 / 1000; /* 10ms block size */ - if (!sio_setpar(hdl, &par)) { - mp_msg(MSGT_AO, MSGL_ERR, "ao2: couldn't set params\n"); - goto bad_close; - } - if (!sio_getpar(hdl, &par)) { - mp_msg(MSGT_AO, MSGL_ERR, "ao2: couldn't get params\n"); - goto bad_close; - } - if (par.bits == 8 && par.bps == 1) { - format = par.sig ? AF_FORMAT_S8 : AF_FORMAT_U8; - } else if (par.bits == 16 && par.bps == 2) { - format = par.sig ? - (par.le ? AF_FORMAT_S16_LE : AF_FORMAT_S16_BE) : - (par.le ? AF_FORMAT_U16_LE : AF_FORMAT_U16_BE); - } else if ((par.bits == 24 || par.msb) && par.bps == 3) { - format = par.sig ? - (par.le ? AF_FORMAT_S24_LE : AF_FORMAT_S24_BE) : - (par.le ? AF_FORMAT_U24_LE : AF_FORMAT_U24_BE); - } else if ((par.bits == 32 || par.msb) && par.bps == 4) { - format = par.sig ? - (par.le ? AF_FORMAT_S32_LE : AF_FORMAT_S32_BE) : - (par.le ? AF_FORMAT_U32_LE : AF_FORMAT_U32_BE); - } else { - mp_msg(MSGT_AO, MSGL_ERR, "ao2: couldn't set format\n"); - goto bad_close; - } - pfds = malloc(sizeof(struct pollfd) * sio_nfds(hdl)); - if (pfds == NULL) { - mp_msg(MSGT_AO, MSGL_ERR, "ao2: couldn't allocate poll fds\n"); - goto bad_close; - } - bpf = par.bps * par.pchan; - ao_data.channels = par.pchan; - ao_data.format = ac3 ? AF_FORMAT_AC3_NE : format; - ao_data.bps = bpf * par.rate; - ao_data.buffersize = par.bufsz * bpf; - ao_data.outburst = par.round * bpf; - ao_data.samplerate = rate; - havevol = sio_onvol(hdl, volcb, NULL); - sio_onmove(hdl, movecb, NULL); - delay = 0; - if (!sio_start(hdl)) { - mp_msg(MSGT_AO, MSGL_ERR, "ao2: init: couldn't start\n"); - goto bad_free; - } - return 1; -bad_free: - free(pfds); -bad_close: - sio_close(hdl); - hdl = 0; - return 0; -} - -/* - * close device - */ -static void uninit(int immed) -{ - if (hdl) - sio_close(hdl); -} - -/* - * stop playing and empty buffers (for seeking/pause) - */ -static void reset(void) -{ - if (!sio_stop(hdl)) { - mp_msg(MSGT_AO, MSGL_ERR, "ao2: reset: couldn't stop\n"); - } - delay = 0; - if (!sio_start(hdl)) { - mp_msg(MSGT_AO, MSGL_ERR, "ao2: reset: couldn't start\n"); - } -} - -/* - * how many bytes can be played without blocking - */ -static int get_space(void) -{ - int bufused, revents, n; - - /* - * call poll() and sio_revents(), so the - * delay counter is updated - */ - n = sio_pollfd(hdl, pfds, POLLOUT); - while (poll(pfds, n, 0) < 0 && errno == EINTR) - ; /* nothing */ - revents = sio_revents(hdl, pfds); - return par.bufsz * par.pchan * par.bps - delay; -} - -/* - * play given number of bytes until sio_write() blocks - */ -static int play(void *data, int len, int flags) -{ - int n; - - n = sio_write(hdl, data, len); - delay += n; - if (flags & AOPLAY_FINAL_CHUNK) - reset(); - return n; -} - -/* - * return: delay in seconds between first and last sample in buffer - */ -static float get_delay(void) -{ - return (float)delay / (par.bps * par.pchan * par.rate); -} - -/* - * stop playing, keep buffers (for pause) - */ -static void audio_pause(void) -{ - reset(); -} - -/* - * resume playing, after audio_pause() - */ -static void audio_resume(void) -{ - int n, count, todo; - - /* - * we want to start with buffers full, because mplayer uses - * get_space() pointer as clock, which would cause video to - * accelerate while buffers are filled. - */ - todo = par.bufsz * par.pchan * par.bps; - while (todo > 0) { - count = todo; - if (count > SILENCE_NMAX) - count = SILENCE_NMAX; - n = sio_write(hdl, silence, count); - if (n == 0) - break; - todo -= n; - delay += n; - } -} Index: patches/patch-DOCS_man_en_mplayer_1 =================================================================== RCS file: /home/cvs/ports/x11/mplayer/patches/patch-DOCS_man_en_mplayer_1,v retrieving revision 1.8 diff -u -p -u -p -r1.8 patch-DOCS_man_en_mplayer_1 --- patches/patch-DOCS_man_en_mplayer_1 6 Sep 2013 23:14:40 -0000 1.8 +++ patches/patch-DOCS_man_en_mplayer_1 6 Jan 2014 22:22:50 -0000 @@ -1,7 +1,7 @@ $OpenBSD: patch-DOCS_man_en_mplayer_1,v 1.8 2013/09/06 23:14:40 brad Exp $ ---- DOCS/man/en/mplayer.1.orig Mon Aug 19 10:49:18 2013 -+++ DOCS/man/en/mplayer.1 Tue Aug 20 02:39:05 2013 -@@ -1541,7 +1541,7 @@ May be negative. +--- DOCS/man/en/mplayer.1.orig Mon Jan 6 17:03:10 2014 ++++ DOCS/man/en/mplayer.1 Mon Jan 6 17:22:43 2014 +@@ -1542,7 +1542,7 @@ May be negative. . .TP .B \-cdrom\-device <path to device> @@ -10,7 +10,7 @@ $OpenBSD: patch-DOCS_man_en_mplayer_1,v . .TP .B \-channels <number> (also see \-af channels) -@@ -12298,11 +12298,11 @@ mplayer \-vo zr2 \-vf scale=352:288,zrmjpeg file.avi +@@ -12299,11 +12299,11 @@ mplayer \-vo zr2 \-vf scale=352:288,zrmjpeg file.avi .PP .B Play DTS-CD with passthrough: .nf Index: patches/patch-Makefile =================================================================== RCS file: /home/cvs/ports/x11/mplayer/patches/patch-Makefile,v retrieving revision 1.27 diff -u -p -u -p -r1.27 patch-Makefile --- patches/patch-Makefile 6 Sep 2013 23:14:40 -0000 1.27 +++ patches/patch-Makefile 6 Jan 2014 22:22:51 -0000 @@ -1,6 +1,6 @@ $OpenBSD: patch-Makefile,v 1.27 2013/09/06 23:14:40 brad Exp $ ---- Makefile.orig Mon Aug 19 10:49:12 2013 -+++ Makefile Tue Aug 20 02:49:57 2013 +--- Makefile.orig Mon Jan 6 17:02:58 2014 ++++ Makefile Mon Jan 6 17:22:43 2014 @@ -35,6 +35,7 @@ OS_FEATURE-$(VSSCANF) += osdep/vsscanf. # conditional source declarations SRCS_AUDIO_INPUT-$(ALSA) += stream/ai_alsa.c @@ -9,15 +9,7 @@ $OpenBSD: patch-Makefile,v 1.27 2013/09/ SRCS_COMMON-$(AUDIO_INPUT) += $(SRCS_AUDIO_INPUT-yes) SRCS_COMMON-$(BITMAP_FONT) += sub/font_load.c SRCS_COMMON-$(CDDA) += stream/stream_cdda.c \ -@@ -573,6 +574,7 @@ SRCS_MPLAYER-$(SDL) += libao2/ao_sdl.c - libvo/sdl_common.c - SRCS_MPLAYER-$(SGIAUDIO) += libao2/ao_sgi.c - SRCS_MPLAYER-$(SUNAUDIO) += libao2/ao_sun.c -+SRCS_MPLAYER-$(SNDIO) += libao2/ao_sndio.c - SRCS_MPLAYER-$(SVGA) += libvo/vo_svga.c - SRCS_MPLAYER-$(TDFXFB) += libvo/vo_tdfxfb.c - SRCS_MPLAYER-$(TDFXVID) += libvo/vo_tdfx_vid.c -@@ -638,7 +640,8 @@ SRCS_MPLAYER = command.c \ +@@ -639,7 +640,8 @@ SRCS_MPLAYER = command.c \ libvo/vo_mpegpes.c \ libvo/vo_null.c \ sub/spuenc.c \ Index: patches/patch-configure =================================================================== RCS file: /home/cvs/ports/x11/mplayer/patches/patch-configure,v retrieving revision 1.72 diff -u -p -u -p -r1.72 patch-configure --- patches/patch-configure 12 Dec 2013 21:41:54 -0000 1.72 +++ patches/patch-configure 6 Jan 2014 22:22:51 -0000 @@ -1,32 +1,7 @@ $OpenBSD: patch-configure,v 1.72 2013/12/12 21:41:54 brad Exp $ ---- configure.orig Mon Aug 19 10:49:15 2013 -+++ configure Wed Dec 11 22:26:11 2013 -@@ -523,6 +523,7 @@ Audio output: - --disable-nas disable NAS audio output [autodetect] - --disable-sgiaudio disable SGI audio output [autodetect] - --disable-sunaudio disable Sun audio output [autodetect] -+ --disable-sndio disable OpenBSD sndio audio output [autodetect] - --disable-kai disable KAI audio output [autodetect] - --disable-dart disable DART audio output [autodetect] - --disable-win32waveout disable Windows waveout audio output [autodetect] -@@ -756,6 +757,7 @@ _xf86keysym=auto - _mlib=no #broken, thus disabled - _sgiaudio=auto - _sunaudio=auto -+_sndio=auto - _alsa=auto - _fastmemcpy=yes - hardcoded_tables=no -@@ -1193,6 +1195,8 @@ for ac_option do - --disable-mlib) _mlib=no ;; - --enable-sunaudio) _sunaudio=yes ;; - --disable-sunaudio) _sunaudio=no ;; -+ --enable-sndio) _sndio=yes ;; -+ --disable-sndio) _sndio=no ;; - --enable-sgiaudio) _sgiaudio=yes ;; - --disable-sgiaudio) _sgiaudio=no ;; - --enable-alsa) _alsa=yes ;; -@@ -1491,36 +1495,36 @@ echo configuration: $configuration > "$TMPLOG" +--- configure.orig Mon Jan 6 17:03:04 2014 ++++ configure Mon Jan 6 17:22:43 2014 +@@ -1497,36 +1497,36 @@ echo configuration: $configuration > "$TMPLOG" echo >> "$TMPLOG" @@ -92,7 +67,7 @@ $OpenBSD: patch-configure,v 1.72 2013/12 list_subparts() { pattern="s/^[^#]*${1}.*([^ ,]*, *\([^ ,)]*\).*/\1_${2}/p" sed -n "$pattern" ffmpeg/libav${3} | toupper -@@ -2349,7 +2353,7 @@ case "$host_arch" in +@@ -2364,7 +2364,7 @@ case "$host_arch" in arch='sparc' iproc='sparc' if test "$host_arch" = "sparc64" ; then @@ -101,7 +76,7 @@ $OpenBSD: patch-configure,v 1.72 2013/12 proc='ultrasparc' def_fast_64bit='#define HAVE_FAST_64BIT 1' elif sunos ; then -@@ -2672,7 +2676,7 @@ cat > $TMPC << EOF +@@ -2692,7 +2692,7 @@ cat > $TMPC << EOF int ff_extern; EOF cc_check -c || die "Symbol mangling check failed." @@ -110,30 +85,7 @@ $OpenBSD: patch-configure,v 1.72 2013/12 extern_prefix=${sym%%ff_extern*} def_extern_asm="#define EXTERN_ASM $extern_prefix" def_extern_prefix="#define EXTERN_PREFIX \"$extern_prefix\"" -@@ -5776,6 +5780,22 @@ fi - echores "$_sunaudio" - - -+echocheck "sndio audio" -+if test "$_sndio" = auto ; then -+ _sndio=no -+ statement_check sndio.h 'sio_initpar(NULL)' -lsndio && _sndio=yes -+fi -+if test "$_sndio" = yes ; then -+ def_sndio='#define CONFIG_SNDIO_AUDIO 1' -+ _aomodules="sndio $_aomodules" -+ extra_ldflags="$extra_ldflags -lsndio" -+else -+ def_sndio='#undef CONFIG_SNDIO_AUDIO' -+ _noaomodules="sndio $_noaomodules" -+fi -+echores "$_sndio" -+ -+ - def_mlib='#define CONFIG_MLIB 0' - if sunos; then - echocheck "Sun mediaLib" -@@ -6087,7 +6107,7 @@ echocheck "cdparanoia" +@@ -6153,7 +6153,7 @@ echocheck "cdparanoia" if test "$_cdparanoia" = auto ; then _cdparanoia=no for inc_tmp in "" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do @@ -142,7 +94,7 @@ $OpenBSD: patch-configure,v 1.72 2013/12 _cdparanoia=yes && extra_cflags="$extra_cflags $inc_tmp" && break done fi -@@ -8033,6 +8053,7 @@ extra_ldflags="$extra_ldflags -lm" +@@ -8099,6 +8099,7 @@ extra_ldflags="$extra_ldflags $libm" # XML documentation tests echocheck "XML catalogs" for try_catalog in \ @@ -150,7 +102,7 @@ $OpenBSD: patch-configure,v 1.72 2013/12 /etc/sgml/catalog \ /usr/share/xml/docbook/*/catalog.xml \ /opt/local/share/xml/docbook-xml/*/catalog.xml \ -@@ -8060,6 +8081,7 @@ fi +@@ -8126,6 +8127,7 @@ fi echocheck "XML chunked stylesheet" for try_chunk_xsl in \ @@ -158,7 +110,7 @@ $OpenBSD: patch-configure,v 1.72 2013/12 /usr/share/xml/docbook/*/html/chunk.xsl \ /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/html/chunk.xsl \ /usr/share/sgml/docbook/yelp/docbook/html/chunk.xsl \ -@@ -8085,6 +8107,7 @@ fi +@@ -8151,6 +8153,7 @@ fi echocheck "XML monolithic stylesheet" for try_docbook_xsl in \ @@ -166,7 +118,7 @@ $OpenBSD: patch-configure,v 1.72 2013/12 /usr/share/xml/docbook/*/html/docbook.xsl \ /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/html/docbook.xsl \ /usr/share/sgml/docbook/yelp/docbook/html/docbook.xsl \ -@@ -8138,6 +8161,7 @@ EOF +@@ -8204,6 +8207,7 @@ EOF echocheck "XML DTD" #FIXME: This should prefer higher version numbers, not the other way around .. for try_dtd in \ @@ -174,19 +126,3 @@ $OpenBSD: patch-configure,v 1.72 2013/12 /usr/share/xml/docbook/*/dtd/4*/docbookx.dtd \ /usr/share/xml/docbook/*/docbookx.dtd \ /usr/share/sgml/docbook/*/docbookx.dtd \ -@@ -8413,6 +8437,7 @@ SPEEX = $_speex - STREAM_CACHE = $_stream_cache - SGIAUDIO = $_sgiaudio - SUNAUDIO = $_sunaudio -+SNDIO = $_sndio - SVGA = $_svga - TDFXFB = $_tdfxfb - TDFXVID = $_tdfxvid -@@ -8846,6 +8871,7 @@ $def_ossaudio_devmixer - $def_pulse - $def_sgiaudio - $def_sunaudio -+$def_sndio - $def_win32waveout - - $def_ladspa Index: patches/patch-libao2_audio_out_c =================================================================== RCS file: /home/cvs/ports/x11/mplayer/patches/patch-libao2_audio_out_c,v retrieving revision 1.5 diff -u -p -u -p -r1.5 patch-libao2_audio_out_c --- patches/patch-libao2_audio_out_c 21 Jan 2013 16:23:05 -0000 1.5 +++ patches/patch-libao2_audio_out_c 6 Jan 2014 22:27:58 -0000 @@ -1,15 +1,7 @@ $OpenBSD: patch-libao2_audio_out_c,v 1.5 2013/01/21 16:23:05 brad Exp $ ---- libao2/audio_out.c.orig Sat May 5 01:09:58 2012 -+++ libao2/audio_out.c Sat May 5 01:30:00 2012 -@@ -42,6 +42,7 @@ extern const ao_functions_t audio_out_null; - extern const ao_functions_t audio_out_alsa; - extern const ao_functions_t audio_out_nas; - extern const ao_functions_t audio_out_sdl; -+extern const ao_functions_t audio_out_sndio; - extern const ao_functions_t audio_out_sun; - extern const ao_functions_t audio_out_sgi; - extern const ao_functions_t audio_out_win32; -@@ -54,6 +55,7 @@ extern const ao_functions_t audio_out_v4l2; +--- libao2/audio_out.c.orig Mon Jan 6 17:02:58 2014 ++++ libao2/audio_out.c Mon Jan 6 17:27:38 2014 +@@ -55,6 +55,7 @@ extern const ao_functions_t audio_out_v4l2; extern const ao_functions_t audio_out_mpegpes; extern const ao_functions_t audio_out_pcm; extern const ao_functions_t audio_out_pss; @@ -17,21 +9,11 @@ $OpenBSD: patch-libao2_audio_out_c,v 1.5 const ao_functions_t* const audio_out_drivers[] = { -@@ -82,6 +84,9 @@ const ao_functions_t* const audio_out_drivers[] = - #ifdef CONFIG_SGI_AUDIO - &audio_out_sgi, - #endif -+#ifdef CONFIG_SNDIO_AUDIO -+ &audio_out_sndio, -+#endif - #ifdef CONFIG_SUN_AUDIO - &audio_out_sun, - #endif -@@ -120,6 +125,7 @@ const ao_functions_t* const audio_out_drivers[] = +@@ -124,6 +125,7 @@ const ao_functions_t* const audio_out_drivers[] = &audio_out_null, // should not be auto-selected: &audio_out_pcm, -+ &audio_out_rtunes, ++ &audio_out_rtunes, NULL }; Index: patches/patch-libmpcodecs_vd_ffmpeg_c =================================================================== RCS file: patches/patch-libmpcodecs_vd_ffmpeg_c diff -N patches/patch-libmpcodecs_vd_ffmpeg_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-libmpcodecs_vd_ffmpeg_c 7 Jan 2014 00:19:59 -0000 @@ -0,0 +1,28 @@ +$OpenBSD$ + +Deal with older FFmpeg. + +--- libmpcodecs/vd_ffmpeg.c.orig Mon Jan 6 17:31:30 2014 ++++ libmpcodecs/vd_ffmpeg.c Mon Jan 6 17:51:42 2014 +@@ -254,8 +254,12 @@ static void set_dr_slice_settings(struct AVCodecContex + + ctx->do_dr1 = (lavc_codec->capabilities & CODEC_CAP_DR1) && + lavc_codec->id != AV_CODEC_ID_INTERPLAY_VIDEO && ++#if 0 + lavc_codec->id != AV_CODEC_ID_H264 && + lavc_codec->id != AV_CODEC_ID_HEVC; ++#else ++ lavc_codec->id != AV_CODEC_ID_H264; ++#endif + ctx->nonref_dr = 0; + // TODO: fix and enable again. This currently causes issues when using filters + // and seeking, usually failing with the "Ran out of numbered images" message, +@@ -940,7 +944,7 @@ static mp_image_t *decode(sh_video_t *sh, void *data, + ret = avcodec_decode_video2(avctx, pic, &got_picture, &pkt); + pkt.data = NULL; + pkt.size = 0; +- av_packet_free_side_data(&pkt); ++ av_destruct_packet(&pkt); + + // even when we do dr we might actually get a buffer we had + // FFmpeg allocate - this mostly happens with nonref_dr. Index: patches/patch-libmpdemux_demux_lavf_c =================================================================== RCS file: /home/cvs/ports/x11/mplayer/patches/patch-libmpdemux_demux_lavf_c,v retrieving revision 1.3 diff -u -p -u -p -r1.3 patch-libmpdemux_demux_lavf_c --- patches/patch-libmpdemux_demux_lavf_c 6 Sep 2013 23:14:40 -0000 1.3 +++ patches/patch-libmpdemux_demux_lavf_c 6 Jan 2014 22:22:50 -0000 @@ -2,9 +2,9 @@ $OpenBSD: patch-libmpdemux_demux_lavf_c, Deal with older FFmpeg. ---- libmpdemux/demux_lavf.c.orig Tue Aug 20 03:13:59 2013 -+++ libmpdemux/demux_lavf.c Tue Aug 20 03:14:31 2013 -@@ -441,7 +441,7 @@ static void handle_stream(demuxer_t *demuxer, AVFormat +--- libmpdemux/demux_lavf.c.orig Mon Jan 6 17:03:23 2014 ++++ libmpdemux/demux_lavf.c Mon Jan 6 17:22:43 2014 +@@ -442,7 +442,7 @@ static void handle_stream(demuxer_t *demuxer, AVFormat else if (codec->codec_id == AV_CODEC_ID_MOV_TEXT) type = 'm'; else if (codec->codec_id == AV_CODEC_ID_SSA Index: patches/patch-libmpdemux_mp_taglists_c =================================================================== RCS file: /home/cvs/ports/x11/mplayer/patches/patch-libmpdemux_mp_taglists_c,v retrieving revision 1.5 diff -u -p -u -p -r1.5 patch-libmpdemux_mp_taglists_c --- patches/patch-libmpdemux_mp_taglists_c 6 Sep 2013 23:14:40 -0000 1.5 +++ patches/patch-libmpdemux_mp_taglists_c 6 Jan 2014 22:51:49 -0000 @@ -2,8 +2,8 @@ $OpenBSD: patch-libmpdemux_mp_taglists_c Deal with older FFmpeg. ---- libmpdemux/mp_taglists.c.orig Tue Aug 20 03:11:43 2013 -+++ libmpdemux/mp_taglists.c Tue Aug 20 03:12:27 2013 +--- libmpdemux/mp_taglists.c.orig Mon Jan 6 17:03:23 2014 ++++ libmpdemux/mp_taglists.c Mon Jan 6 17:31:04 2014 @@ -29,8 +29,8 @@ static const struct AVCodecTag mp_wav_tags[] = { { AV_CODEC_ID_ADPCM_4XM, MKTAG('4', 'X', 'M', 'A') }, @@ -14,3 +14,21 @@ Deal with older FFmpeg. { AV_CODEC_ID_ADPCM_DTK, MKTAG('D', 'T', 'K', ' ') }, #endif { AV_CODEC_ID_ADPCM_IMA_APC, MKTAG('A', 'P', 'C', 'A') }, +@@ -109,7 +109,7 @@ static const struct AVCodecTag mp_codecid_override_tag + { AV_CODEC_ID_ESCAPE130, MKTAG('E', '1', '3', '0') }, + #endif + { AV_CODEC_ID_FLV1, MKTAG('F', 'L', 'V', '1') }, +-#if LIBAVUTIL_VERSION_MICRO >= 100 ++#if 0 + { AV_CODEC_ID_ADPCM_G726LE, MKTAG('6', '2', '7', 'G') }, + #endif + { AV_CODEC_ID_G729, MKTAG('G', '7', '2', '9') }, +@@ -158,7 +158,7 @@ static const struct AVCodecTag mp_bmp_tags[] = { + { AV_CODEC_ID_DSICINVIDEO, MKTAG('D', 'C', 'I', 'V') }, + { AV_CODEC_ID_DXA, MKTAG('D', 'X', 'A', '1') }, + { AV_CODEC_ID_FLIC, MKTAG('f', 'l', 'i', 'c') }, +-#if LIBAVUTIL_VERSION_MICRO >= 100 ++#if 0 + { AV_CODEC_ID_HEVC, MKTAG('H', 'E', 'V', 'C') }, + #endif + { AV_CODEC_ID_IDCIN, MKTAG('I', 'D', 'C', 'I') }, Index: patches/patch-stream_stream_cdda_c =================================================================== RCS file: /home/cvs/ports/x11/mplayer/patches/patch-stream_stream_cdda_c,v retrieving revision 1.1 diff -u -p -u -p -r1.1 patch-stream_stream_cdda_c --- patches/patch-stream_stream_cdda_c 21 Jan 2013 16:23:05 -0000 1.1 +++ patches/patch-stream_stream_cdda_c 6 Jan 2014 22:22:53 -0000 @@ -1,7 +1,7 @@ $OpenBSD: patch-stream_stream_cdda_c,v 1.1 2013/01/21 16:23:05 brad Exp $ ---- stream/stream_cdda.c.orig Sat May 5 02:18:19 2012 -+++ stream/stream_cdda.c Sat May 5 02:18:45 2012 -@@ -439,9 +439,11 @@ static int open_cdda(stream_t *st,int m, void* opts, i +--- stream/stream_cdda.c.orig Mon Jan 6 17:02:57 2014 ++++ stream/stream_cdda.c Mon Jan 6 17:22:43 2014 +@@ -446,9 +446,11 @@ static int open_cdda(stream_t *st,int m, void* opts, i else if(p->search_overlap == 0) mode &= ~PARANOIA_MODE_OVERLAP; #ifndef CONFIG_LIBCDIO -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.